GreasyFork Dark

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

当前为 2023-12-17 提交的版本,查看 最新版本

  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.1.20
  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. // ==/UserScript==
  15.  
  16. if(!localStorage.darkMode) localStorage.darkMode = 'true';
  17.  
  18. (() => {
  19.  
  20. const cssTextFn = () => `
  21.  
  22.  
  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: #900;
  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: #ff9;
  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: #005200;
  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: #fee
  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: #313c51;
  461. color: #e0e0e0;
  462. border: 1px solid #27282c;
  463. border-radius: 5px;
  464. box-sizing: border-box;
  465. margin: 14px 0
  466. }
  467.  
  468. .user-list {
  469. padding: 1em;
  470. margin: 1em 0
  471. }
  472.  
  473. .script-link,.script-description,.user-link {
  474. unicode-bidi: isolate
  475. }
  476.  
  477. .list-option-groups~ol {
  478. width: calc(960px - 14em)
  479. }
  480.  
  481. .text-content .list-option-groups~ol {
  482. width: calc(960px - 16em)
  483. }
  484.  
  485. @media screen and (max-width: 960px) {
  486. #script-info,.user-list,.text-content {
  487. padding:0 1.2vw 1.2vw
  488. }
  489. }
  490.  
  491. .script-list li:not(.ad-entry) {
  492. border-bottom: 1px solid #000000;
  493. padding: 1em
  494. }
  495.  
  496. .script-list .cf-wrapper {
  497. margin: 0!important
  498. }
  499.  
  500. @media screen and (max-width: 960px) {
  501. .script-list li {
  502. padding:1.2vw
  503. }
  504. }
  505.  
  506. .script-list h2 {
  507. margin: 0;
  508. font-size: 18px
  509. }
  510.  
  511. .script-list p {
  512. margin: 0
  513. }
  514.  
  515. .script-list footer {
  516. margin-top: .25em
  517. }
  518.  
  519. .list-current,.script-list h2 {
  520. font-weight: 700
  521. }
  522.  
  523. .script-list .description {
  524. font-weight: 400;
  525. display: block;
  526. margin: .5em 0;
  527. font-size: smaller
  528. }
  529.  
  530. .script-list .name-description-separator {
  531. display: none
  532. }
  533.  
  534. #script-description,.script-list h2>a,.script-list .description {
  535. word-wrap: break-word
  536. }
  537.  
  538. @media screen and (max-width: 720px) {
  539. .script-list,#script-content {
  540. margin-left:unset
  541. }
  542. }
  543.  
  544. .pagination,.script-list+.pagination,.user-list+.pagination {
  545. font-size: 18px;
  546. display: block;
  547. background-color: transparent;
  548. padding: 0;
  549. margin: 0;
  550. border-radius: 5px
  551. }
  552.  
  553. .pagination>*,.script-list+.pagination>*,.user-list+.pagination>* {
  554. display: inline-block;
  555. background-color: #1b1b1e;
  556. padding: .5em;
  557. border-radius: 5px;
  558. text-decoration: none
  559. }
  560.  
  561. .pagination .disabled {
  562. display: none
  563. }
  564.  
  565. .pagination .current {
  566. font-style: normal;
  567. font-weight: 700
  568. }
  569.  
  570. .pagination .current,.pagination .gap {
  571. background-color: transparent
  572. }
  573.  
  574. .pagination>a:hover,.pagination>a:focus {
  575. background-color: #100f0b
  576. }
  577.  
  578. .good-rating-count,.ok-rating-count,.bad-rating-count {
  579. display: inline-block;
  580. min-width: 1em;
  581. text-align: center;
  582. padding: 0 .25em;
  583. border: 1px solid #DDDDDD;
  584. border-radius: 10px
  585. }
  586.  
  587. .good-rating-count {
  588. background-color: #d8fff8;
  589. border-color: #339b334d;
  590. color: #1f7c1f
  591. }
  592.  
  593. .ok-rating-count {
  594. background-color: #f9fec1;
  595. border-color: #9b9b004d;
  596. color: #626221
  597. }
  598.  
  599. .bad-rating-count {
  600. background-color: #ffdada;
  601. border-color: #9b33334d;
  602. color: #7a1f1f
  603. }
  604.  
  605. .select-all,.select-none {
  606. display: none
  607. }
  608.  
  609. .diff {
  610. border: 2px solid black
  611. }
  612.  
  613. #help-allowed-elements,#help-allowed-styles {
  614. -moz-column-width: 20em;
  615. -webkit-column-width: 20em;
  616. column-width: 20em
  617. }
  618.  
  619. #help-allowed-elements li,#help-allowed-styles li {
  620. padding-right: 1em
  621. }
  622.  
  623. #by-site-list {
  624. list-style-type: none;
  625. padding: 0
  626. }
  627.  
  628. #by-site-list li {
  629. display: inline;
  630. vertical-align: middle
  631. }
  632.  
  633. #user_profile {
  634. width: 100%;
  635. height: 10em
  636. }
  637.  
  638. .preview-result {
  639. display: none;
  640. background-color: #ffa;
  641. padding: .5em
  642. }
  643.  
  644. .failed-sync {
  645. background-color: #fcc
  646. }
  647.  
  648. .alert {
  649. font-style: italic;
  650. background-color: #ffc;
  651. border: none;
  652. border-left: 6px solid #FFEB3B;
  653. padding: .5em
  654. }
  655.  
  656. .notice {
  657. background-color: #2b556a;
  658. border: none;
  659. border-left: 6px solid #5aa5cb;
  660. padding: .5em
  661. }
  662.  
  663. .validation-errors {
  664. background-color: #626240;
  665. border: none;
  666. border-left: 6px solid #FFEB3B;
  667. padding: .5em;
  668. margin: .5em 0
  669. }
  670.  
  671. .validation-errors>p:first-child {
  672. margin-top: 0
  673. }
  674.  
  675. .validation-errors>p:last-child {
  676. margin-bottom: 0
  677. }
  678.  
  679. #install-stats-chart {
  680. width: 100%;
  681. height: 400px
  682. }
  683.  
  684. .stats-table {
  685. border-collapse: collapse
  686. }
  687.  
  688. .stats-table th,.stats-table td {
  689. border: 1px solid gray;
  690. padding: 0 .5em
  691. }
  692.  
  693. td.numeric,th.numeric {
  694. text-align: right
  695. }
  696.  
  697. .translation_missing {
  698. outline: dashed red
  699. }
  700.  
  701. #edit_user>div {
  702. margin-bottom: .5em
  703. }
  704.  
  705. #edit_user>div>label:first-child {
  706. font-weight: 700
  707. }
  708.  
  709. .inline-form {
  710. display: inline
  711. }
  712.  
  713. a.self-link,a.self-link:visited {
  714. text-decoration: none;
  715. color: #000;
  716. opacity: .2
  717. }
  718.  
  719. .indented {
  720. padding-left: 1em
  721. }
  722.  
  723. .external-login {
  724. padding: 2px 2px 3px 25px;
  725. border: 1px solid black;
  726. border-radius: 2px;
  727. background-repeat: no-repeat;
  728. background-size: 16px 16px;
  729. background-position: 5px 2px
  730. }
  731.  
  732. .external-login-container {
  733. display: inline-block;
  734. vertical-align: top
  735. }
  736.  
  737. .external-login-container * {
  738. text-align: center;
  739. display: block
  740. }
  741.  
  742. .external-login-container>*:not(button) {
  743. font-size: smaller
  744. }
  745.  
  746. .external-login-container:not(:last-child) {
  747. margin-right: 5px
  748. }
  749.  
  750. .external-login-container .github-login {
  751. 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==)
  752. }
  753.  
  754. .external-login-container .gitlab-login {
  755. 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==)
  756. }
  757.  
  758. .external-login-container .google_oauth2-login {
  759. 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=)
  760. }
  761.  
  762. .centered-sections h2,.centered-sections h3 {
  763. text-align: center
  764. }
  765.  
  766. form.external-login-form {
  767. position: relative;
  768. display: table;
  769. margin: 0 auto;
  770. padding: 1em;
  771. background-color: #fff;
  772. border: 1px solid #d8dee2;
  773. border-radius: 5px;
  774. text-align: center
  775. }
  776.  
  777. form.external-login-form .remember-me {
  778. margin-top: 12px
  779. }
  780.  
  781. form.new_user {
  782. position: relative;
  783. width: 340px;
  784. margin: 0 auto;
  785. padding: 1em;
  786. background-color: #fff;
  787. border: 1px solid #d8dee2;
  788. border-radius: 5px;
  789. text-align: start
  790. }
  791.  
  792. @media screen and (max-width: 440px) {
  793. form.new_user {
  794. width:unset
  795. }
  796. }
  797.  
  798. form.new_user label,form.new_user em {
  799. display: block;
  800. font-size: small
  801. }
  802.  
  803. form.new_user br {
  804. display: none
  805. }
  806.  
  807. form.new_user input[type=text],form.new_user input[type=email],form.new_user input[type=password] {
  808. display: block;
  809. width: 100%;
  810. min-height: 34px;
  811. box-sizing: border-box;
  812. margin-top: .2em;
  813. margin-bottom: .5em;
  814. padding: 6px 8px;
  815. font-size: 14px;
  816. line-height: 20px;
  817. vertical-align: middle;
  818. color: #333;
  819. background-color: #fff;
  820. border: 1px solid #ddd;
  821. border-radius: 3px;
  822. outline: none;
  823. box-shadow: inset 0 1px 2px #0000001a
  824. }
  825.  
  826. form input[type=checkbox],form input[type=checkbox]+label,form input[type=radio],form input[type=radio]+label {
  827. display: inline-block;
  828. font-size: small
  829. }
  830.  
  831. .radio-note {
  832. font-size: small;
  833. margin-top: 5px
  834. }
  835.  
  836. @media screen and (max-width: 440px) {
  837. form input[type=checkbox]+label {
  838. display:unset;
  839. word-wrap: break-word
  840. }
  841. }
  842.  
  843. form.new_user input[type=submit] {
  844. display: block;
  845. width: 100%;
  846. min-height: 34px;
  847. box-sizing: border-box;
  848. margin: .5em 0 0;
  849. padding: 6px 8px;
  850. font-size: 14px;
  851. font-weight: 700;
  852. line-height: 20px;
  853. text-align: center;
  854. vertical-align: middle;
  855. color: #fff;
  856. background-color: #670000;
  857. background-image: linear-gradient(#990000,#670000);
  858. border: 0px solid #ddd;
  859. box-shadow: 0 4px 8px #0003,0 6px 20px #00000030;
  860. border-radius: 3px;
  861. white-space: normal
  862. }
  863.  
  864. form.new_user~br {
  865. display: none
  866. }
  867.  
  868. form.new_user~a {
  869. width: 340px;
  870. display: block;
  871. margin: 0 auto 2em;
  872. font-size: small
  873. }
  874.  
  875. form.new_user+a {
  876. width: 340px;
  877. display: block;
  878. margin: 0 auto
  879. }
  880.  
  881. .sidebar-search,.home-search {
  882. position: relative;
  883. vertical-align: middle
  884. }
  885.  
  886. .sidebar-search input[type=search],.home-search input[type=search] {
  887. padding-inline-end:20px}
  888.  
  889. .sidebar-search input[type=search] {
  890. width: 100%;
  891. margin: 0 0 1em
  892. }
  893.  
  894. .sidebar-search input[type=submit],.home-search input[type=submit] {
  895. position: absolute;
  896. -moz-appearance: none;
  897. -webkit-appearance: none;
  898. inset-inline-end: 0;
  899. top: 0;
  900. border-color: transparent;
  901. padding-inline-start:0;padding-inline-end:6px;margin-left: 0;
  902. margin-right: 0;
  903. background: none;
  904. opacity: .5
  905. }
  906.  
  907. @media screen and (max-width: 680px) {
  908. .sidebar-search input[type=search],.home-search input[type=search] {
  909. font-size:unset
  910. }
  911. }
  912.  
  913. figure {
  914. padding: 5px;
  915. box-shadow: 0 4px 8px #00000026,0 6px 10px #00000026;
  916. border-radius: 5px
  917. }
  918.  
  919. figcaption {
  920. font-size: smaller;
  921. text-align: center
  922. }
  923.  
  924. .multiform-page:not(:first-child) {
  925. margin-top: 30px
  926. }
  927.  
  928. .multiform-page:not(:last-child) {
  929. padding-bottom: 30px;
  930. border-bottom: 1px solid lightgray
  931. }
  932.  
  933. summary {
  934. cursor: pointer
  935. }
  936.  
  937. .blocked-script-codes {
  938. font-size: smaller;
  939. border-collapse: collapse;
  940. width: 100%;
  941. text-align: left
  942. }
  943.  
  944. .blocked-script-codes .pattern-row {
  945. font-size: medium
  946. }
  947.  
  948. .blocked-script-codes .pattern-row {
  949. border-top: 1px solid gray
  950. }
  951.  
  952. .blocked-script-codes .info-row td:first-child {
  953. width: 2em
  954. }
  955.  
  956. .ad {
  957. margin-top: 1em;
  958. margin-bottom: 1em
  959. }
  960.  
  961. .after-radio-chosen {
  962. display: none;
  963. margin-left: 29px
  964. }
  965.  
  966. input[type=radio]:checked~.after-radio-chosen {
  967. display: block
  968. }
  969.  
  970. .announcement {
  971. margin: 14px 0;
  972. text-align: center;
  973. font-size: smaller
  974. }
  975.  
  976. .announcement form {
  977. display: inline
  978. }
  979.  
  980. .announcement input {
  981. appearance: none;
  982. -moz-appearance: none;
  983. -webkit-appearance: none;
  984. border: 0;
  985. background: none;
  986. margin: 0 0 0 4px;
  987. padding: 0;
  988. cursor: pointer
  989. }
  990.  
  991. .announcement,.announcement input {
  992. font-size: 12px
  993. }
  994.  
  995. .badge {
  996. margin-left: 1ex;
  997. border-radius: 10%/25%;
  998. font-size: 70%;
  999. padding: 0 .5ex;
  1000. text-transform: uppercase;
  1001. position: relative;
  1002. top: -.2ex
  1003. }
  1004.  
  1005. .badge-banned,.badge-deleted {
  1006. background-color: #ff0000e6;
  1007. color: #fff
  1008. }
  1009.  
  1010. .badge-deleted {
  1011. margin-left: 0;
  1012. border-color: #ff0000e6
  1013. }
  1014.  
  1015. .badge-moderator {
  1016. background-color: #1a1da8e6;
  1017. color: #fff
  1018. }
  1019.  
  1020. .badge-author {
  1021. background-color: #1e971ee6;
  1022. color: #fff
  1023. }
  1024.  
  1025. .badge-js {
  1026. background-color: #efd81d;
  1027. color: #000
  1028. }
  1029.  
  1030. .badge-css {
  1031. background-color: #254bdd;
  1032. color: #fff
  1033. }
  1034.  
  1035. .badge-js,.badge-css {
  1036. display: none
  1037. }
  1038.  
  1039. .showing-all-languages .badge-js,.showing-all-languages .badge-css {
  1040. display: inline
  1041. }
  1042.  
  1043. .list-option-groups .carbon-ad,.list-option-groups .adsense-ad {
  1044. display: block;
  1045. overflow: hidden;
  1046. margin-bottom: 1em;
  1047. padding: 1em;
  1048. border: 1px solid hsl(0,0%,73%);
  1049. border-radius: 5px;
  1050. background-color: #fff;
  1051. box-shadow: 0 0 5px #ddd;
  1052. text-align: center;
  1053. line-height: 1.5;
  1054. min-height: 203px
  1055. }
  1056.  
  1057. .list-option-groups .carbon-ad a {
  1058. text-decoration: none
  1059. }
  1060.  
  1061. .list-option-groups .carbon-ad span {
  1062. display: block;
  1063. overflow: hidden
  1064. }
  1065.  
  1066. .list-option-groups .carbon-img {
  1067. display: block;
  1068. margin: 0 auto 1em
  1069. }
  1070.  
  1071. .list-option-groups .carbon-text {
  1072. display: block;
  1073. margin-bottom: 1em
  1074. }
  1075.  
  1076. .list-option-groups .carbon-poweredby {
  1077. display: block;
  1078. text-transform: uppercase;
  1079. letter-spacing: 1px;
  1080. font-size: 9px
  1081. }
  1082.  
  1083. #script-show-info-ad .carbon-wrap {
  1084. display: flex
  1085. }
  1086.  
  1087. #script-show-info-ad .carbon-text {
  1088. padding: 10px
  1089. }
  1090.  
  1091. #script-show-info-ad .carbon-text,#script-show-info-ad .carbon-poweredby {
  1092. width: 200px;
  1093. text-align: center
  1094. }
  1095.  
  1096. #script-show-info-ad a {
  1097. text-decoration: none
  1098. }
  1099.  
  1100. #script-show-info-ad #carbonads {
  1101. background-color: #fff;
  1102. font-size: smaller
  1103. }
  1104.  
  1105. #script-show-info-ad .carbon-poweredby {
  1106. font-size: 9px;
  1107. text-transform: uppercase;
  1108. margin-top: -13px;
  1109. display: block;
  1110. margin-left: 140px;
  1111. letter-spacing: 1px
  1112. }
  1113.  
  1114. #script-show-info-ad #carbonads img {
  1115. vertical-align: bottom
  1116. }
  1117.  
  1118. #script-show-info-ad.ad-ca,#script-show-info-ad.ad-c2 {
  1119. width: 350px;
  1120. margin: 1em 0
  1121. }
  1122.  
  1123. #script-show-info-ad.ad-ca .ad-content,#script-show-info-ad.ad-c2 .ad-content {
  1124. min-height: 100px
  1125. }
  1126.  
  1127. code {
  1128. background-color: #5c4b5e
  1129. }
  1130.  
  1131. pre code {
  1132. background: none;
  1133. border: 0
  1134. }
  1135.  
  1136. pre,code {
  1137. border-radius: 2px;
  1138. border: 1px solid #685c71
  1139. }
  1140.  
  1141. pre {
  1142. padding: 1em
  1143. }
  1144.  
  1145. .prettyprint {
  1146. width: max-content;
  1147. min-width: calc(100% - 6px)
  1148. }
  1149.  
  1150. .code-container {
  1151. max-height: calc(100vh - 54px);
  1152. overflow-x: auto;
  1153. border-radius: 2px;
  1154. border: 1px solid #E6DDD6
  1155. }
  1156.  
  1157. .code-container pre {
  1158. border: 0;
  1159. margin: 0
  1160. }
  1161.  
  1162. li.L0,li.L1,li.L2,li.L3,li.L4,li.L5,li.L6,li.L7,li.L8,li.L9 {
  1163. list-style-type: decimal!important
  1164. }
  1165.  
  1166. @media screen and (max-width: 440px) {
  1167. #code-container {
  1168. font-size:small
  1169. }
  1170. }
  1171.  
  1172. .diff_options input[type=number] {
  1173. width: 10ch
  1174. }
  1175.  
  1176. .diff {
  1177. overflow: auto
  1178. }
  1179.  
  1180. .diff ul {
  1181. background: #fff;
  1182. overflow: auto;
  1183. font-size: 13px;
  1184. list-style: none;
  1185. margin: 0;
  1186. padding: 0;
  1187. display: table;
  1188. width: 100%
  1189. }
  1190.  
  1191. .diff del,.diff ins {
  1192. display: block;
  1193. text-decoration: none
  1194. }
  1195.  
  1196. .diff li {
  1197. padding: 0;
  1198. display: table-row;
  1199. margin: 0;
  1200. height: 1em
  1201. }
  1202.  
  1203. .diff li.ins {
  1204. background: #dfd;
  1205. color: #080
  1206. }
  1207.  
  1208. .diff li.del {
  1209. background: #fee;
  1210. color: #b00
  1211. }
  1212.  
  1213. .diff li:hover {
  1214. background: #ffc
  1215. }
  1216.  
  1217. .diff del,.diff ins,.diff span {
  1218. white-space: pre;
  1219. font-family: courier
  1220. }
  1221.  
  1222. .diff del strong {
  1223. font-weight: 400;
  1224. background: #fcc
  1225. }
  1226.  
  1227. .diff ins strong {
  1228. font-weight: 400;
  1229. background: #9f9
  1230. }
  1231.  
  1232. .diff li.diff-comment {
  1233. display: none
  1234. }
  1235.  
  1236. .diff li.diff-block-info {
  1237. background: none repeat scroll 0 0 gray
  1238. }
  1239.  
  1240. .diff del,.diff ins,.diff span {
  1241. font-family: monospace
  1242. }
  1243.  
  1244. .diff {
  1245. max-height: calc(100vh - 54px);
  1246. overflow-y: auto
  1247. }
  1248.  
  1249. .report-diff .diff {
  1250. max-height: 75vh
  1251. }
  1252.  
  1253. .report-diff form {
  1254. display: inline
  1255. }
  1256.  
  1257. .ea-content,.ea-callout {
  1258. margin: 0!important
  1259. }
  1260.  
  1261. .expander {
  1262. cursor: pointer;
  1263. display: block;
  1264. color: #670000;
  1265. border-radius: 3px;
  1266. background-color: #1b1b1e;
  1267. position: absolute;
  1268. width: 20px;
  1269. height: 20px;
  1270. text-align: center;
  1271. inset-inline-end: -22px;
  1272. bottom: 0
  1273. }
  1274.  
  1275. .expanded {
  1276. overflow: auto
  1277. }
  1278.  
  1279. .collapsed {
  1280. overflow: hidden
  1281. }
  1282.  
  1283. .comment {
  1284. margin-bottom: 20px
  1285. }
  1286.  
  1287. .comment-entry {
  1288. width: 100%;
  1289. height: 10em
  1290. }
  1291.  
  1292. .discussion-meta,.comment-meta {
  1293. display: flex;
  1294. align-items: flex-end
  1295. }
  1296.  
  1297. .discussion-meta {
  1298. font-size: 11px
  1299. }
  1300.  
  1301. .comment-meta {
  1302. font-size: smaller;
  1303. margin-bottom: 2px
  1304. }
  1305.  
  1306. .comment-meta-item-main {
  1307. font-size: medium;
  1308. font-weight: 700
  1309. }
  1310.  
  1311. .comment-meta-item+.comment-meta-item {
  1312. margin-left: 15px
  1313. }
  1314.  
  1315. .discussion-meta-item {
  1316. flex: 1;
  1317. text-align: left
  1318. }
  1319.  
  1320. .discussion-meta-item:not(:first-child) {
  1321. margin-left: 8px
  1322. }
  1323.  
  1324. .discussion-meta-item:not(:last-child) {
  1325. margin-right: 8px
  1326. }
  1327.  
  1328. .discussion-meta-item:last-child {
  1329. text-align: right
  1330. }
  1331.  
  1332. .comment-meta-spacer {
  1333. flex: 1
  1334. }
  1335.  
  1336. .post-reply {
  1337. margin-top: 20px
  1338. }
  1339.  
  1340. .post-reply h3,.edit-comment-form h3 {
  1341. margin-bottom: 0
  1342. }
  1343.  
  1344. .post-reply input[type=submit],.edit-comment-form input[type=submit] {
  1345. margin-top: 5px
  1346. }
  1347.  
  1348. .discussion-up-level {
  1349. font-size: smaller;
  1350. margin-top: 0
  1351. }
  1352.  
  1353. .edit-comment-form {
  1354. display: none
  1355. }
  1356.  
  1357. .edit-comment-mode .edit-comment-form {
  1358. display: block
  1359. }
  1360.  
  1361. .edit-comment-mode .user-content,.edit-comment-mode .comment-meta {
  1362. display: none
  1363. }
  1364.  
  1365. .discussion-rating {
  1366. margin-top: 10px
  1367. }
  1368.  
  1369. .discussion-list {
  1370. padding-bottom: 0
  1371. }
  1372.  
  1373. .discussion-list-item {
  1374. padding-top: 10px;
  1375. border-top: 1px solid #CCC
  1376. }
  1377.  
  1378. .discussion-list-container:first-child .discussion-list-item {
  1379. border-top: 0
  1380. }
  1381.  
  1382. .discussion-list-logged-in .discussion-read {
  1383. background-color: #2d3341;
  1384. margin-left: -16px;
  1385. margin-right: -16px;
  1386. padding-left: 16px;
  1387. padding-right: 16px
  1388. }
  1389.  
  1390. .script-discussion-list .discussion-list-item:last-child {
  1391. border-bottom: 1px solid #CCC
  1392. }
  1393.  
  1394. a.discussion-title {
  1395. display: block;
  1396. text-decoration: none;
  1397. color: #d0d0d0;
  1398. padding: 4px 0 14px;
  1399. white-space: nowrap;
  1400. overflow: hidden;
  1401. text-overflow: ellipsis
  1402. }
  1403.  
  1404. .discussion-title {
  1405. vertical-align: middle
  1406. }
  1407.  
  1408. .discussion-title:hover {
  1409. color: #f6f6f6;
  1410. }
  1411.  
  1412. .rating-icon,.badge-deleted {
  1413. border: 2px solid black;
  1414. border-radius: 5px;
  1415. font-size: 12px;
  1416. text-transform: uppercase;
  1417. font-weight: 800;
  1418. padding: 2px 5px;
  1419. margin-right: 5px;
  1420. display: inline-block;
  1421. text-align: center;
  1422. min-width: 45px;
  1423. position: relative;
  1424. top: -1px
  1425. }
  1426.  
  1427. .rating-icon-good {
  1428. border-color: #258925;
  1429. background-color: #cce9cc;
  1430. color: #0f4d0f
  1431. }
  1432.  
  1433. .rating-icon-ok {
  1434. border-color: #a7a71e;
  1435. background-color: #ffffd4;
  1436. color: #4f4f12
  1437. }
  1438.  
  1439. .rating-icon-bad {
  1440. border-color: #cf2929;
  1441. background-color: #f2c7c7;
  1442. color: #440d0d
  1443. }
  1444.  
  1445. .discussion-list-main-content {
  1446. overflow-x: hidden
  1447. }
  1448.  
  1449. .discussion-meta-item-script-name {
  1450. overflow: hidden
  1451. }
  1452.  
  1453. .discussion-meta-item-script-name a {
  1454. white-space: nowrap;
  1455. text-overflow: ellipsis;
  1456. overflow: hidden;
  1457. display: block
  1458. }
  1459.  
  1460. .comment .user-content>*:first-child {
  1461. margin-top: 0
  1462. }
  1463.  
  1464. .comment-screenshot-control {
  1465. font-size: smaller;
  1466. padding: .5em 0
  1467. }
  1468.  
  1469. .discussion-header,.discussion-list-header {
  1470. display: flex;
  1471. margin-top: 30px;
  1472. margin-bottom: 20px
  1473. }
  1474.  
  1475. .discussion-header-no-script {
  1476. margin-top: 16px
  1477. }
  1478.  
  1479. .discussion-header>*:first-child,.discussion-list-header h2 {
  1480. flex: 1;
  1481. margin: 0!important
  1482. }
  1483.  
  1484. .discussion-header h2,.discussion-header .discussion-up-level {
  1485. margin: 0
  1486. }
  1487.  
  1488. .discussion-header .badge {
  1489. vertical-align: middle
  1490. }
  1491.  
  1492. .discussion-actions {
  1493. font-size: smaller
  1494. }
  1495.  
  1496. .discussion-subscribed .discussion-subscribe,.discussion-not-subscribed .discussion-unsubscribe {
  1497. display: none
  1498. }
  1499.  
  1500. .post-discussion label:not(.radio-label),.post-reply label:not(.radio-label),.post-discussion .form-note,.post-reply .form-note {
  1501. font-size: smaller
  1502. }
  1503.  
  1504. #test-require-result-ok,#test-require-result-not-ok {
  1505. display: none;
  1506. font-weight: 700
  1507. }
  1508.  
  1509. #test-require-result-ok {
  1510. color: green
  1511. }
  1512.  
  1513. #test-require-result-not-ok {
  1514. color: red
  1515. }
  1516.  
  1517. #home-script-nav {
  1518. max-width: 700px;
  1519. margin: 0 auto 15px;
  1520. padding-bottom: 20px;
  1521. border-bottom: 1px solid #BBBBBB
  1522. }
  1523.  
  1524. .home-search input {
  1525. font-size: large
  1526. }
  1527.  
  1528. .home-search input[type=search] {
  1529. width: 100%
  1530. }
  1531.  
  1532. #home-top-sites {
  1533. overflow: hidden;
  1534. margin-top: 5px
  1535. }
  1536.  
  1537. #home-top-sites a {
  1538. margin: 0 5px
  1539. }
  1540.  
  1541. #home-step-1,#home-step-2,#home-step-3 {
  1542. overflow: auto
  1543. }
  1544.  
  1545. #home-step-1 figure {
  1546. float: right;
  1547. max-width: 50%;
  1548. margin-inline-end:10px;margin-top: 0
  1549. }
  1550.  
  1551. #home-step-2 figure {
  1552. float: left;
  1553. max-width: 50%;
  1554. margin-inline-start:7px;margin-top: 0
  1555. }
  1556.  
  1557. #home-step-2 li {
  1558. overflow: hidden;
  1559. white-space: nowrap;
  1560. text-overflow: ellipsis
  1561. }
  1562.  
  1563. @media screen and (max-width: 680px) {
  1564. #home-step-1 figure,#home-step-2 figure,#home-step-3 figure {
  1565. float:unset;
  1566. max-width: unset;
  1567. width: fit-content;
  1568. margin: 0 auto
  1569. }
  1570.  
  1571. [id^=home-step-] figure img {
  1572. width: 100%;
  1573. height: auto
  1574. }
  1575. }
  1576.  
  1577. .super-title {
  1578. text-align: center
  1579. }
  1580.  
  1581. .browser-list {
  1582. display: none
  1583. }
  1584.  
  1585. #desktop-browser-list {
  1586. display: block
  1587. }
  1588.  
  1589. .browser-list-selector:not(.browser-list-selector-active) {
  1590. text-decoration: underline;
  1591. cursor: pointer
  1592. }
  1593.  
  1594. .browser-list-selector-active {
  1595. font-weight: 700
  1596. }
  1597.  
  1598. .browser-list-selector:not(:last-child) {
  1599. margin-right: 1em
  1600. }
  1601.  
  1602. .highlight {
  1603. background-color: #ff0
  1604. }
  1605.  
  1606. .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 {
  1607. display: none
  1608. }
  1609.  
  1610. .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 {
  1611. display: block
  1612. }
  1613.  
  1614. .installation-instructions-modal-content-bypass,.list-option-groups {
  1615. font-size: smaller
  1616. }
  1617.  
  1618. .list-option-group {
  1619. margin-bottom: 1em
  1620. }
  1621.  
  1622. .list-option-group ul {
  1623. margin: .5em 0 0;
  1624. list-style-type: none;
  1625. padding: 1em 0;
  1626. box-shadow: 0 0 5px #17181b;
  1627. border: 1px solid #1b1c1f;
  1628. border-radius: 5px;
  1629. background-color: #2b2f38;
  1630. }
  1631.  
  1632. .list-option-group a {
  1633. padding: .35em 1em;
  1634. display: block
  1635. }
  1636.  
  1637. .list-option-group a:hover,.list-option-group a:focus {
  1638. background: linear-gradient(#081014,#121d1f);
  1639. text-decoration: none;
  1640. box-shadow: inset 0 -1px #282828, inset 0 1px #1c1c1c;
  1641. }
  1642.  
  1643. .list-option-group .list-current {
  1644. border-left: 7px solid #d63535;
  1645. box-shadow: inset 0 1px #0000001a,inset 0 -1px #0000001a;
  1646. margin: 0 0 0 -4px;
  1647. padding: .4em 1em .4em calc(1em - 3px);
  1648. background: linear-gradient(#484848,#444444);
  1649. }
  1650.  
  1651. @media screen and (min-width: 440px) and (max-width: 960px) {
  1652. .list-option-group a,.list-option-group .list-current {
  1653. padding-left:1.2vw;
  1654. padding-right: 1.2vw
  1655. }
  1656. }
  1657.  
  1658. .list-option-button {
  1659. display: block;
  1660. background-color: #3c3e45;
  1661. text-align: center;
  1662. text-decoration: none;
  1663. color: #d7d7d7!important;
  1664. border: 1px solid #BBBBBB;
  1665. padding: .5em;
  1666. font-weight: 700
  1667. }
  1668.  
  1669. .list-option-button:hover,.list-option-button:focus {
  1670. background: linear-gradient(#46464f,#3b424a);
  1671. text-decoration: none
  1672. }
  1673.  
  1674. .list-option:not(.list-current) select {
  1675. width: calc(100% - 1.4em + 3px);
  1676. margin: .4em 1em .4em calc(1em - 3px)
  1677. }
  1678.  
  1679. .list-option.list-current select,.log-table {
  1680. width: 100%
  1681. }
  1682.  
  1683. .log-table th {
  1684. text-align: left
  1685. }
  1686.  
  1687. .log-table td,.log-table th {
  1688. padding: 0 5px
  1689. }
  1690.  
  1691. .log-table td .possibly-long-text {
  1692. max-width: 500px;
  1693. overflow-wrap: break-word
  1694. }
  1695.  
  1696. .modal__overlay {
  1697. position: fixed;
  1698. top: 0;
  1699. left: 0;
  1700. right: 0;
  1701. bottom: 0;
  1702. background: rgba(0,0,0,.6);
  1703. display: flex;
  1704. justify-content: center;
  1705. align-items: center;
  1706. z-index: 100
  1707. }
  1708.  
  1709. .modal__container {
  1710. background-color: #fff;
  1711. padding: 30px;
  1712. max-width: 500px;
  1713. max-height: 100vh;
  1714. border-radius: 4px;
  1715. overflow-y: auto;
  1716. box-sizing: border-box
  1717. }
  1718.  
  1719. .modal__header {
  1720. display: flex;
  1721. justify-content: space-between;
  1722. align-items: center
  1723. }
  1724.  
  1725. .modal__title {
  1726. margin-top: 0!important;
  1727. margin-bottom: 0;
  1728. font-weight: 600;
  1729. font-size: 1rem;
  1730. line-height: 1.25;
  1731. box-sizing: border-box
  1732. }
  1733.  
  1734. .modal__close {
  1735. background: transparent;
  1736. border: 0
  1737. }
  1738.  
  1739. .modal__header .modal__close:before {
  1740. content: "✕"
  1741. }
  1742.  
  1743. .modal__content {
  1744. margin-bottom: 2rem
  1745. }
  1746.  
  1747. .modal__content q {
  1748. font-style: italic
  1749. }
  1750.  
  1751. .modal__btn {
  1752. font-size: .875rem;
  1753. padding: .5rem 1rem;
  1754. background-color: #e6e6e6;
  1755. color: #000c;
  1756. border-radius: .25rem;
  1757. border-style: none;
  1758. border-width: 0;
  1759. cursor: pointer;
  1760. -webkit-appearance: button;
  1761. text-transform: none;
  1762. overflow: visible;
  1763. line-height: 1.15;
  1764. margin: 0 0 0 .5rem;
  1765. will-change: transform;
  1766. -moz-osx-font-smoothing: grayscale;
  1767. -webkit-backface-visibility: hidden;
  1768. backface-visibility: hidden;
  1769. -webkit-transform: translateZ(0);
  1770. transform: translateZ(0);
  1771. transition: -webkit-transform .25s ease-out;
  1772. transition: transform .25s ease-out;
  1773. transition: transform .25s ease-out,-webkit-transform .25s ease-out
  1774. }
  1775.  
  1776. .modal__btn:focus,.modal__btn:hover {
  1777. -webkit-transform: scale(1.05);
  1778. transform: scale(1.05)
  1779. }
  1780.  
  1781. .modal__btn-primary {
  1782. background-color: #005200;
  1783. color: #fff
  1784. }
  1785.  
  1786. .modal__footer {
  1787. text-align: right
  1788. }
  1789.  
  1790. @keyframes mmfadeIn {
  1791. 0% {
  1792. opacity: 0
  1793. }
  1794.  
  1795. to {
  1796. opacity: 1
  1797. }
  1798. }
  1799.  
  1800. @keyframes mmfadeOut {
  1801. 0% {
  1802. opacity: 1
  1803. }
  1804.  
  1805. to {
  1806. opacity: 0
  1807. }
  1808. }
  1809.  
  1810. @keyframes mmslideIn {
  1811. 0% {
  1812. transform: translateY(15%)
  1813. }
  1814.  
  1815. to {
  1816. transform: translateY(0)
  1817. }
  1818. }
  1819.  
  1820. @keyframes mmslideOut {
  1821. 0% {
  1822. transform: translateY(0)
  1823. }
  1824.  
  1825. to {
  1826. transform: translateY(-10%)
  1827. }
  1828. }
  1829.  
  1830. .micromodal-slide {
  1831. display: none
  1832. }
  1833.  
  1834. .micromodal-slide.is-open {
  1835. display: block
  1836. }
  1837.  
  1838. .micromodal-slide[aria-hidden=false] .modal__overlay {
  1839. animation: mmfadeIn .3s cubic-bezier(0,0,.2,1)
  1840. }
  1841.  
  1842. .micromodal-slide[aria-hidden=false] .modal__container {
  1843. animation: mmslideIn .3s cubic-bezier(0,0,.2,1)
  1844. }
  1845.  
  1846. .micromodal-slide[aria-hidden=true] .modal__overlay {
  1847. animation: mmfadeOut .3s cubic-bezier(0,0,.2,1)
  1848. }
  1849.  
  1850. .micromodal-slide[aria-hidden=true] .modal__container {
  1851. animation: mmslideOut .3s cubic-bezier(0,0,.2,1)
  1852. }
  1853.  
  1854. .micromodal-slide .modal__container,.micromodal-slide .modal__overlay {
  1855. will-change: transform
  1856. }
  1857.  
  1858. .post-install {
  1859. margin: 1em 0;
  1860. border-radius: 2px;
  1861. padding: 5px;
  1862. max-width: 600px;
  1863. display: none;
  1864. align-items: center;
  1865. background-color: #c4e3ed;
  1866. border: 1px solid #c4e3ed;
  1867. position: relative
  1868. }
  1869.  
  1870. .post-install-label {
  1871. font-size: xx-small;
  1872. position: absolute;
  1873. top: -2px;
  1874. left: 2px;
  1875. opacity: .5
  1876. }
  1877.  
  1878. .post-install-text {
  1879. text-align: center;
  1880. align-items: center;
  1881. flex: 1
  1882. }
  1883.  
  1884. .post-install-text p {
  1885. margin: 0;
  1886. padding: 0
  1887. }
  1888.  
  1889. .post-install-button {
  1890. text-align: center;
  1891. margin-left: 10px;
  1892. white-space: nowrap
  1893. }
  1894.  
  1895. .preview-results {
  1896. border: 1px solid gray;
  1897. overflow: auto;
  1898. box-sizing: border-box;
  1899. margin: 0;
  1900. padding: 16px
  1901. }
  1902.  
  1903. .preview-results>p:first-child {
  1904. margin-top: 0
  1905. }
  1906.  
  1907. .preview-results>p:last-child {
  1908. margin-bottom: 0
  1909. }
  1910.  
  1911. .previewable textarea {
  1912. margin: 0
  1913. }
  1914.  
  1915. .previewable .tabs {
  1916. margin-top: 10px;
  1917. margin-bottom: -4px
  1918. }
  1919.  
  1920. #report_explanation {
  1921. width: 100%;
  1922. height: 10em
  1923. }
  1924.  
  1925. .reportable {
  1926. position: relative
  1927. }
  1928.  
  1929. .report-link-abs {
  1930. position: absolute;
  1931. top: 0;
  1932. right: 0;
  1933. font-size: smaller;
  1934. margin-right: 16px;
  1935. margin-top: 8px
  1936. }
  1937.  
  1938. .report-list-item:not(:last-child) {
  1939. padding-bottom: 20px;
  1940. border-bottom: 1px solid gray;
  1941. margin-bottom: 20px
  1942. }
  1943.  
  1944. .report-list-item .inline-form {
  1945. margin-right: 5px
  1946. }
  1947.  
  1948. .report-resolution-options {
  1949. display: inline-block;
  1950. vertical-align: top;
  1951. min-width: 30%
  1952. }
  1953.  
  1954. .report-resolution-options+.report-resolution-options {
  1955. margin-left: 1em
  1956. }
  1957.  
  1958. .report-resolution-options input[type=submit] {
  1959. margin-top: .5em
  1960. }
  1961.  
  1962. .report-resolution-options textarea {
  1963. width: 100%
  1964. }
  1965.  
  1966. .report-screenshot-control {
  1967. font-size: smaller;
  1968. padding: .5em 0
  1969. }
  1970.  
  1971. .unauthorized-code-comparison th {
  1972. text-align: left
  1973. }
  1974.  
  1975. .unauthorized-code-comparison th,.unauthorized-code-comparison td {
  1976. padding-right: 1em
  1977. }
  1978.  
  1979. body:lang(he),body:lang(ar),body:lang(ug),body:lang(ckb) {
  1980. direction: rtl
  1981. }
  1982.  
  1983. :not(:lang(he)):not(:lang(ar)):not(:lang(ug)):not(:lang(ckb)) {
  1984. direction: ltr
  1985. }
  1986.  
  1987. body:lang(he) #main-header,body:lang(ar) #main-header,body:lang(ug) #main-header,body:lang(ckb) #main-header {
  1988. direction: ltr
  1989. }
  1990.  
  1991. :lang(ar) #home-step-1 figure,:lang(he) #home-step-1 figure,:lang(ug) #home-step-1 figure,:lang(ckb) #home-step-1 figure {
  1992. float: left
  1993. }
  1994.  
  1995. :lang(ar) #home-step-2 figure,:lang(he) #home-step-2 figure,:lang(ug) #home-step-2 figure,:lang(ckb) #home-step-2 figure {
  1996. float: right
  1997. }
  1998.  
  1999. .checkup-list {
  2000. padding-inline-start:1em}
  2001.  
  2002. .checkup-list li {
  2003. list-style-type: "✗";
  2004. padding-inline-start:.5em}
  2005.  
  2006. .checkup-list li::marker {
  2007. color: red
  2008. }
  2009.  
  2010. .checkup-list li.good-check {
  2011. list-style-type: "✓"
  2012. }
  2013.  
  2014. .checkup-list li.good-check::marker {
  2015. color: green
  2016. }
  2017.  
  2018. .script-meta-block {
  2019. max-width: 600px;
  2020. column-count: 2
  2021. }
  2022.  
  2023. .script-meta-block>*:last-child {
  2024. margin-bottom: 1em
  2025. }
  2026.  
  2027. .inline-script-stats {
  2028. display: grid;
  2029. grid-template-columns: max-content auto;
  2030. margin: 0 22px 0 0
  2031. }
  2032.  
  2033. .inline-script-stats,.inline-script-stats dt,.inline-script-stats dd {
  2034. vertical-align: top;
  2035. padding: 0;
  2036. font-size: small
  2037. }
  2038.  
  2039. .inline-script-stats dt,.inline-script-stats dd {
  2040. box-sizing: border-box;
  2041. overflow-wrap: break-word;
  2042. margin: 1px 0
  2043. }
  2044.  
  2045. .inline-script-stats dt {
  2046. font-weight: 700;
  2047. text-align: end;
  2048. padding-inline-end:1em}
  2049.  
  2050. dd.script-list-ratings {
  2051. margin-top: 0;
  2052. margin-bottom: 0
  2053. }
  2054.  
  2055. @media screen and (max-width: 600px) {
  2056. .script-meta-block {
  2057. column-count:1
  2058. }
  2059. }
  2060.  
  2061. .script-antifeatures span[title] {
  2062. text-decoration: underline;
  2063. text-decoration-style: dotted
  2064. }
  2065.  
  2066. .script-show-compatibility {
  2067. vertical-align: bottom
  2068. }
  2069.  
  2070. .browser-compatible,.browser-incompatible,.browser-incompatible-marker {
  2071. width: 16px;
  2072. height: 16px
  2073. }
  2074.  
  2075. .browser-incompatible {
  2076. opacity: .5
  2077. }
  2078.  
  2079. .browser-incompatible-marker {
  2080. position: absolute
  2081. }
  2082.  
  2083. .script-lock-appeal-actions form {
  2084. display: inline-block;
  2085. margin-top: 1em
  2086. }
  2087.  
  2088. .change-script-set section {
  2089. border-bottom: 1px solid #DDDDDD;
  2090. padding-bottom: 1em
  2091. }
  2092.  
  2093. .change-script-set textarea {
  2094. height: 5em
  2095. }
  2096.  
  2097. .change-script-set .selection-box {
  2098. width: 45%;
  2099. display: inline-block;
  2100. vertical-align: top;
  2101. margin-bottom: 1em
  2102. }
  2103.  
  2104. @media screen and (max-width: 720px) {
  2105. .change-script-set .selection-box {
  2106. width:100%
  2107. }
  2108. }
  2109.  
  2110. .change-script-set select[multiple] {
  2111. width: 100%
  2112. }
  2113.  
  2114. .add-script-set label {
  2115. font-weight: 700;
  2116. display: block
  2117. }
  2118.  
  2119. .add-automatic-script-set-4>* {
  2120. vertical-align: top
  2121. }
  2122.  
  2123. .history_versions {
  2124. display: table;
  2125. padding: 0
  2126. }
  2127.  
  2128. .history_versions li {
  2129. display: table-row
  2130. }
  2131.  
  2132. .diff-controls,.version-number,.version-date,.version-changelog {
  2133. display: table-cell;
  2134. padding-bottom: .5em
  2135. }
  2136.  
  2137. .diff-controls,.version-number,.version-date {
  2138. white-space: nowrap;
  2139. padding-right: 1em
  2140. }
  2141.  
  2142. .version-changelog {
  2143. overflow-wrap: anywhere
  2144. }
  2145.  
  2146. .version-changelog img {
  2147. max-width: 100%
  2148. }
  2149.  
  2150. .version-changelog p:first-child {
  2151. margin-top: 0
  2152. }
  2153.  
  2154. .version-changelog p:last-child {
  2155. margin-bottom: 0
  2156. }
  2157.  
  2158. .remove-attachment {
  2159. margin-top: 20px
  2160. }
  2161.  
  2162. .remove-attachment input {
  2163. margin-left: 0
  2164. }
  2165.  
  2166. .sidebarred {
  2167. display: flex
  2168. }
  2169.  
  2170. .sidebarred-main-content {
  2171. flex: 1
  2172. }
  2173.  
  2174. .sidebar {
  2175. width: 200px;
  2176. padding-top: 1.75em;
  2177. padding-bottom: .75em;
  2178. margin-inline-start:1.5em;flex: none
  2179. }
  2180.  
  2181. .close-sidebar,.open-sidebar {
  2182. display: none;
  2183. cursor: pointer
  2184. }
  2185.  
  2186. .open-sidebar {
  2187. float: right;
  2188. background-color: #fff;
  2189. padding: 2px 1.2vw;
  2190. margin-right: -1.2vw;
  2191. border-radius: 3px 0 0 3px;
  2192. border-width: 1px 0 1px 1px;
  2193. border-style: solid;
  2194. border-color: gray
  2195. }
  2196.  
  2197. .sidebar-title {
  2198. flex: 1
  2199. }
  2200.  
  2201. @media screen and (max-width: 800px) {
  2202. .sidebarred {
  2203. display:block;
  2204. position: relative
  2205. }
  2206.  
  2207. .sidebar {
  2208. position: absolute;
  2209. right: -1.2vw;
  2210. top: 0;
  2211. background: white;
  2212. padding-top: 0;
  2213. padding-left: 1em;
  2214. padding-right: 1em;
  2215. border-width: 1px 0 1px 1px;
  2216. border-style: solid;
  2217. border-color: gray;
  2218. border-radius: 3px 0 0 3px
  2219. }
  2220.  
  2221. .sidebar.collapsed {
  2222. display: none
  2223. }
  2224.  
  2225. .close-sidebar {
  2226. display: flex;
  2227. margin-bottom: 1.5em;
  2228. background-color: #eee;
  2229. border-bottom: 1px solid black;
  2230. margin-left: -16px;
  2231. margin-right: -16px;
  2232. padding: .25em 1.2vw .25em 16px
  2233. }
  2234.  
  2235. .open-sidebar.sidebar-collapsed {
  2236. display: block
  2237. }
  2238. }
  2239.  
  2240. @media screen and (min-width: 800px) {
  2241. .sidebarred-main-content {
  2242. max-width:calc(100% - 224px)
  2243. }
  2244. }
  2245.  
  2246. .tabs {
  2247. list-style: none;
  2248. padding: 0 1em;
  2249. margin: 0 -1em;
  2250. display: flex;
  2251. position: relative;
  2252. top: -3.5px;
  2253. flex-wrap: wrap
  2254. }
  2255.  
  2256. .tabs>* {
  2257. align-items: stretch
  2258. }
  2259.  
  2260. .tabs>*>* {
  2261. padding: .25em .5em .5em;
  2262. display: block
  2263. }
  2264.  
  2265. .tabs a {
  2266. text-decoration: none;
  2267. cursor: pointer
  2268. }
  2269.  
  2270. .tabs .current,.tabs>*:not(.current) a:hover,.tabs>*:not(.current) a:focus {
  2271. background: #ffffff08;
  2272. box-shadow: inset 1px 0 #0000001a,inset -1px 0 #0000001a,inset 0 -1px #0000001a
  2273. }
  2274.  
  2275. .tabs .current {
  2276. box-shadow: inset 1px 0 #ffffff1a, inset -1px 0 #ffffff1a, inset 0 -1px #ffffff1a;
  2277. border-top: 7px solid #d63535
  2278. }
  2279.  
  2280. .tabs>*:not(.current) a {
  2281. margin-top: 3.5px;
  2282. padding-top: calc(.25em + 3.5px)
  2283. }
  2284.  
  2285. .user-content {
  2286. outline: 1px solid #777c8c;
  2287. background: linear-gradient(to right,transparent,#31333a 1em);
  2288. border-left: 2px solid #2d2f36;
  2289. padding: .5em 1em;
  2290. overflow-x: auto
  2291. }
  2292.  
  2293. .user-content>p:first-child {
  2294. margin-top: 0
  2295. }
  2296.  
  2297. .user-content>p:last-child {
  2298. margin-bottom: 0
  2299. }
  2300.  
  2301. .user-content img {
  2302. max-width: 100%
  2303. }
  2304.  
  2305. .user-screenshots * {
  2306. vertical-align: middle
  2307. }
  2308.  
  2309. .user-screenshots a {
  2310. text-decoration: none
  2311. }
  2312.  
  2313. .comment-screenshot-control {
  2314. margin: 10px 0
  2315. }
  2316.  
  2317. .remove-images {
  2318. display: flex;
  2319. margin-top: 5px
  2320. }
  2321.  
  2322. .remove-image {
  2323. border: 2px solid black;
  2324. padding: 5px;
  2325. display: flex;
  2326. justify-content: space-between;
  2327. flex-direction: column
  2328. }
  2329.  
  2330. .remove-image:not(:first-child) {
  2331. margin-left: 5px
  2332. }
  2333.  
  2334. .remove-image img {
  2335. display: block
  2336. }
  2337.  
  2338. .remove-image-selecter,.comment .user-content .user-screenshots {
  2339. margin-top: 10px
  2340. }
  2341.  
  2342. #additional-info .user-screenshots {
  2343. margin-top: 1em
  2344. }
  2345.  
  2346. .user-content blockquote {
  2347. margin-left: 10px;
  2348. padding-left: 10px;
  2349. border-left: 2px solid #CCC
  2350. }
  2351.  
  2352. @keyframes lum-fade {
  2353. 0% {
  2354. opacity: 0
  2355. }
  2356.  
  2357. to {
  2358. opacity: 1
  2359. }
  2360. }
  2361.  
  2362. @keyframes lum-fadeZoom {
  2363. 0% {
  2364. transform: scale(.5);
  2365. opacity: 0
  2366. }
  2367.  
  2368. to {
  2369. transform: scale(1);
  2370. opacity: 1
  2371. }
  2372. }
  2373.  
  2374. @keyframes lum-loader-rotate {
  2375. 0% {
  2376. transform: translate(-50%,-50%) rotate(0)
  2377. }
  2378.  
  2379. 50% {
  2380. transform: translate(-50%,-50%) rotate(-180deg)
  2381. }
  2382.  
  2383. to {
  2384. transform: translate(-50%,-50%) rotate(-360deg)
  2385. }
  2386. }
  2387.  
  2388. @keyframes lum-loader-before {
  2389. 0% {
  2390. transform: scale(1)
  2391. }
  2392.  
  2393. 10% {
  2394. transform: scale(1.2) translate(6px)
  2395. }
  2396.  
  2397. 25% {
  2398. transform: scale(1.3) translate(8px)
  2399. }
  2400.  
  2401. 40% {
  2402. transform: scale(1.2) translate(6px)
  2403. }
  2404.  
  2405. 50% {
  2406. transform: scale(1)
  2407. }
  2408.  
  2409. 60% {
  2410. transform: scale(.8) translate(6px)
  2411. }
  2412.  
  2413. 75% {
  2414. transform: scale(.7) translate(8px)
  2415. }
  2416.  
  2417. 90% {
  2418. transform: scale(.8) translate(6px)
  2419. }
  2420.  
  2421. to {
  2422. transform: scale(1)
  2423. }
  2424. }
  2425.  
  2426. @keyframes lum-loader-after {
  2427. 0% {
  2428. transform: scale(1)
  2429. }
  2430.  
  2431. 10% {
  2432. transform: scale(1.2) translate(-6px)
  2433. }
  2434.  
  2435. 25% {
  2436. transform: scale(1.3) translate(-8px)
  2437. }
  2438.  
  2439. 40% {
  2440. transform: scale(1.2) translate(-6px)
  2441. }
  2442.  
  2443. 50% {
  2444. transform: scale(1)
  2445. }
  2446.  
  2447. 60% {
  2448. transform: scale(.8) translate(-6px)
  2449. }
  2450.  
  2451. 75% {
  2452. transform: scale(.7) translate(-8px)
  2453. }
  2454.  
  2455. 90% {
  2456. transform: scale(.8) translate(-6px)
  2457. }
  2458.  
  2459. to {
  2460. transform: scale(1)
  2461. }
  2462. }
  2463.  
  2464. .lum-lightbox {
  2465. background: rgba(0,0,0,.6)
  2466. }
  2467.  
  2468. .lum-lightbox-inner {
  2469. top: 2.5%;
  2470. right: 2.5%;
  2471. bottom: 2.5%;
  2472. left: 2.5%
  2473. }
  2474.  
  2475. .lum-lightbox-inner img {
  2476. position: relative
  2477. }
  2478.  
  2479. .lum-lightbox-inner .lum-lightbox-caption {
  2480. margin: 0 auto;
  2481. color: #fff;
  2482. max-width: 700px;
  2483. text-align: center
  2484. }
  2485.  
  2486. .lum-loading .lum-lightbox-loader {
  2487. display: block;
  2488. position: absolute;
  2489. top: 50%;
  2490. left: 50%;
  2491. transform: translate(-50%,-50%);
  2492. width: 66px;
  2493. height: 20px;
  2494. animation: lum-loader-rotate 1.8s infinite linear
  2495. }
  2496.  
  2497. .lum-lightbox-loader:before,.lum-lightbox-loader:after {
  2498. content: "";
  2499. display: block;
  2500. width: 20px;
  2501. height: 20px;
  2502. position: absolute;
  2503. top: 50%;
  2504. margin-top: -10px;
  2505. border-radius: 20px;
  2506. background: rgba(255,255,255,.9)
  2507. }
  2508.  
  2509. .lum-lightbox-loader:before {
  2510. left: 0;
  2511. animation: lum-loader-before 1.8s infinite linear
  2512. }
  2513.  
  2514. .lum-lightbox-loader:after {
  2515. right: 0;
  2516. animation: lum-loader-after 1.8s infinite linear;
  2517. animation-delay: -.9s
  2518. }
  2519.  
  2520. .lum-lightbox.lum-opening {
  2521. animation: lum-fade .18s ease-out
  2522. }
  2523.  
  2524. .lum-lightbox.lum-opening .lum-lightbox-inner {
  2525. animation: lum-fadeZoom .18s ease-out
  2526. }
  2527.  
  2528. .lum-lightbox.lum-closing {
  2529. animation: lum-fade .3s ease-in;
  2530. animation-direction: reverse
  2531. }
  2532.  
  2533. .lum-lightbox.lum-closing .lum-lightbox-inner {
  2534. animation: lum-fadeZoom .3s ease-in;
  2535. animation-direction: reverse
  2536. }
  2537.  
  2538. .lum-img {
  2539. transition: opacity .12s ease-out
  2540. }
  2541.  
  2542. .lum-loading .lum-img {
  2543. opacity: 0
  2544. }
  2545.  
  2546. .lum-gallery-button {
  2547. overflow: hidden;
  2548. text-indent: 150%;
  2549. white-space: nowrap;
  2550. background: transparent;
  2551. border: 0;
  2552. margin: 0;
  2553. padding: 0;
  2554. outline: 0;
  2555. position: absolute;
  2556. top: 50%;
  2557. transform: translateY(-50%);
  2558. height: 100px;
  2559. max-height: 100%;
  2560. width: 60px;
  2561. cursor: pointer
  2562. }
  2563.  
  2564. .lum-close-button {
  2565. position: absolute;
  2566. right: 5px;
  2567. top: 5px;
  2568. width: 32px;
  2569. height: 32px;
  2570. opacity: .3
  2571. }
  2572.  
  2573. .lum-close-button:hover {
  2574. opacity: 1
  2575. }
  2576.  
  2577. .lum-close-button:before,.lum-close-button:after {
  2578. position: absolute;
  2579. left: 15px;
  2580. content: " ";
  2581. height: 33px;
  2582. width: 2px;
  2583. background-color: #fff
  2584. }
  2585.  
  2586. .lum-close-button:before {
  2587. transform: rotate(45deg)
  2588. }
  2589.  
  2590. .lum-close-button:after {
  2591. transform: rotate(-45deg)
  2592. }
  2593.  
  2594. .lum-previous-button {
  2595. left: 12px
  2596. }
  2597.  
  2598. .lum-next-button {
  2599. right: 12px
  2600. }
  2601.  
  2602. .lum-gallery-button:after {
  2603. content: "";
  2604. display: block;
  2605. position: absolute;
  2606. top: 50%;
  2607. width: 36px;
  2608. height: 36px;
  2609. border-top: 4px solid rgba(255,255,255,.8)
  2610. }
  2611.  
  2612. .lum-previous-button:after {
  2613. transform: translateY(-50%) rotate(-45deg);
  2614. border-left: 4px solid rgba(255,255,255,.8);
  2615. box-shadow: -2px 0 #0003;
  2616. left: 12%;
  2617. border-radius: 3px 0 0
  2618. }
  2619.  
  2620. .lum-next-button:after {
  2621. transform: translateY(-50%) rotate(45deg);
  2622. border-right: 4px solid rgba(255,255,255,.8);
  2623. box-shadow: 2px 0 #0003;
  2624. right: 12%;
  2625. border-radius: 0 3px 0 0
  2626. }
  2627.  
  2628. @media (max-width: 460px) {
  2629. .lum-lightbox-image-wrapper {
  2630. display:flex;
  2631. overflow: auto;
  2632. -webkit-overflow-scrolling: touch
  2633. }
  2634.  
  2635. .lum-lightbox-caption {
  2636. width: 100%;
  2637. position: absolute;
  2638. bottom: 0
  2639. }
  2640.  
  2641. .lum-lightbox-position-helper {
  2642. margin: auto
  2643. }
  2644.  
  2645. .lum-lightbox-inner img {
  2646. max-width: none;
  2647. max-height: none
  2648. }
  2649. }
  2650.  
  2651.  
  2652. [style~="color:#21c"] {
  2653. color: #35deff !important;
  2654. }
  2655.  
  2656.  
  2657. `
  2658.  
  2659.  
  2660. const mo = new MutationObserver(() => {
  2661. const head = document.head;
  2662. if (!head) return;
  2663. const css = head.querySelector('link[rel="stylesheet"][href*="/vite/assets/application-"][href*=".css"][media="screen"]');
  2664. if (!css || css.parentNode !== head) return;
  2665. mo.disconnect();
  2666. mo.takeRecords();
  2667.  
  2668. const text = cssTextFn();
  2669. const blob = new Blob([text], { type: 'text/css; charset=UTF-8' });
  2670. const blobURL = URL.createObjectURL(blob);
  2671. const newLinkElm = document.createElement('link');
  2672. newLinkElm.rel = 'stylesheet'
  2673. newLinkElm.media = 'screen'
  2674. newLinkElm.href = blobURL;
  2675. newLinkElm.disabled = true;
  2676. head.insertBefore(newLinkElm, css.nextSibling);
  2677.  
  2678. const aoChange = () => {
  2679. if (document.documentElement.hasAttribute('dark')) {
  2680. newLinkElm.disabled = false;
  2681. } else {
  2682. newLinkElm.disabled = true;
  2683. }
  2684. }
  2685.  
  2686. if (localStorage.darkMode === 'true') {
  2687. document.documentElement.setAttribute('dark', '');
  2688. }
  2689. aoChange();
  2690. let ao = new MutationObserver(aoChange);
  2691. ao.observe(document.documentElement, { attributes: true, attributeFilter: ['dark'] });
  2692.  
  2693.  
  2694. });
  2695. mo.observe(document, { subtree: true, childList: true })
  2696.  
  2697.  
  2698. })();
  2699.  
  2700.  
  2701.  

QingJ © 2025

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