less copy protection, more size visualization
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

987 wiersze
16 KiB

  1. @import url('https://fonts.googleapis.com/css?family=Coda&display=swap');
  2. html {
  3. height: 100%;
  4. width: 100%;
  5. box-sizing: border-box;
  6. overflow-x: hidden;
  7. overflow-y: hidden;
  8. color: #eee;
  9. }
  10. body {
  11. position: relative;
  12. background: #333;
  13. display: flex;
  14. flex-direction: column;
  15. align-items: center;
  16. justify-content: flex-start;
  17. height: 100%;
  18. width: 100%;
  19. font-family: 'Coda', sans-serif;
  20. }
  21. .entity-box {
  22. position: absolute;
  23. --height: 100px;
  24. --brightness: 1;
  25. max-height: var(--height);
  26. height: var(--height);
  27. text-align: center;
  28. -webkit-user-drag: none;
  29. -khtml-user-drag: none;
  30. -moz-user-drag: none;
  31. -o-user-drag: none;
  32. pointer-events: none;
  33. }
  34. body.smoothing .entity-box {
  35. transition: left 0.2s cubic-bezier(.1,.41,.18,.99), top 0.2s cubic-bezier(.1,.41,.18,.99), height 0.2s cubic-bezier(.1,.41,.18,.99), max-height 0.2s cubic-bezier(.1,.41,.18,.99);
  36. }
  37. .entity-image {
  38. display: block;
  39. height: 100%;
  40. pointer-events: auto;
  41. -webkit-user-drag: none;
  42. -khtml-user-drag: none;
  43. -moz-user-drag: none;
  44. -o-user-drag: none;
  45. --offset: -100%;
  46. transform: translate(-50%, var(--offset));
  47. filter: brightness(var(--brightness));
  48. }
  49. .entity-image.flipped {
  50. transform: translate(-50%, var(--offset)) scale(-1, 1);
  51. }
  52. .entity-name {
  53. display: none;
  54. position: absolute;
  55. top: calc(-100% + var(--extra) / 2);
  56. left: 0%;
  57. transform: translate(-50%, -36px);
  58. font-size: 24px;
  59. pointer-events: none;
  60. max-width: 250px;
  61. width: 250px;
  62. transition: all 0s;
  63. }
  64. body.toggle-entity-name .entity-name,
  65. .entity-box.selected .entity-name {
  66. display: inline;
  67. }
  68. .entity-box.selected > img {
  69. filter: brightness(var(--brightness)) drop-shadow(0px 0px 5px gold);
  70. }
  71. .entity-box.prevSelected > img {
  72. filter: brightness(var(--brightness)) drop-shadow(0px 0px 5px darkorange);
  73. }
  74. body.toggle-entity-glow .entity-box:not(.selected) > img{
  75. filter: brightness(var(--brightness)) drop-shadow(0px 0px 2px white);
  76. }
  77. #main-area {
  78. min-height: 0px;
  79. display: flex;
  80. flex: 1 1 90vh;
  81. width: 100%;
  82. flex-direction: row;
  83. }
  84. #options {
  85. position: relative;
  86. flex: 1 1 10vw;
  87. min-width: 100pt;
  88. display: flex;
  89. justify-content: start;
  90. flex-direction: column;
  91. background: #444;
  92. overflow-x: hidden;
  93. overflow-y: auto;
  94. width: 100%;
  95. height: 100%;
  96. scrollbar-color: #e1e1e1 #888;
  97. }
  98. #options.hidden {
  99. min-width: 0pt;
  100. flex: 0 1 0vw;
  101. }
  102. #options-attribution {
  103. display: none;
  104. }
  105. #options::-webkit-scrollbar {
  106. height: 2px;
  107. }
  108. #options::-webkit-scrollbar-button {
  109. width: 0px;
  110. height: 0px;
  111. }
  112. #options::-webkit-scrollbar-thumb {
  113. background: #e1e1e1;
  114. border: 0px none #ffffff;
  115. border-radius: 50px;
  116. }
  117. #options::-webkit-scrollbar-thumb:hover {
  118. background: #ffffff;
  119. }
  120. #options::-webkit-scrollbar-thumb:active {
  121. background: #000000;
  122. }
  123. #options::-webkit-scrollbar-track {
  124. background: #00000000;
  125. border: 0px none #ffffff;
  126. border-radius: 50px;
  127. }
  128. #options::-webkit-scrollbar-track:hover {
  129. background: #666666;
  130. }
  131. #options::-webkit-scrollbar-track:active {
  132. background: #333333;
  133. }
  134. #options::-webkit-scrollbar-corner {
  135. background: transparent;
  136. }
  137. .options-two-buttons {
  138. display: flex;
  139. justify-content: space-evenly;
  140. }
  141. .options-two-buttons > button {
  142. font-size: 18pt;
  143. }
  144. .options-category {
  145. position: relative;
  146. }
  147. .options-row {
  148. position: relative;
  149. flex-direction: column;
  150. flex-wrap: wrap;
  151. display: flex;
  152. text-align: center;
  153. align-items: center;
  154. margin-left: auto;
  155. margin-right: auto;
  156. margin-top: 8px;
  157. margin-bottom: 8px;
  158. }
  159. .options-row.full {
  160. min-width: 90%;
  161. }
  162. .options-block {
  163. display: flex;
  164. text-align: center;
  165. min-width: 90%;
  166. width: 90%;
  167. margin: auto;
  168. flex-direction: column;
  169. }
  170. .options-label {
  171. text-align: center;
  172. user-select: none;
  173. margin-top: 12px;
  174. margin-bottom: 4px;
  175. }
  176. .options-block.options-block-optional {
  177. display: none;
  178. }
  179. body.show-extra-options .options-block.options-block-optional {
  180. display: flex;
  181. }
  182. .options-header {
  183. text-align: center;
  184. font-size: 24pt;
  185. margin-top: 10px;
  186. margin-bottom: 10px;
  187. background: #333;
  188. user-select: none;
  189. }
  190. .options-banner-buttons {
  191. width: 100%;
  192. text-align: center;
  193. margin-top: 10px;
  194. }
  195. .options-banner-button {
  196. display: inline-block;
  197. text-align: center;
  198. font-size: 20pt;
  199. color: #ddd;
  200. background: #262;
  201. text-decoration: none;
  202. user-select: none;
  203. border-radius: 6pt;
  204. margin: 10px;
  205. border-color: #666;
  206. border-width: 3pt;
  207. border-style: outset;
  208. width: 85%;
  209. }
  210. .options-banner-button:hover {
  211. color: #eee;
  212. background: #282;
  213. }
  214. .options-banner-button:active {
  215. color: #fff;
  216. background: #2a2;
  217. border-style: inset;
  218. }
  219. .options-selector {
  220. font-size: 150%;
  221. width: 100%;
  222. }
  223. .button-img {
  224. height: 24pt;
  225. }
  226. #entities {
  227. position: absolute;
  228. user-select: none;
  229. width: 100%;
  230. height: 100%;
  231. }
  232. #world {
  233. position: relative;
  234. flex: 1 1 85vw;
  235. height: 100%;
  236. overflow: hidden;
  237. }
  238. #menubar {
  239. display: flex;
  240. flex: 1 0 5vh;
  241. flex-direction: row;
  242. justify-content: space-evenly;
  243. align-items: center;
  244. flex-wrap: wrap;
  245. min-width: 100vw;
  246. background: #222;
  247. }
  248. #menubar.hover-delete {
  249. background: #922;
  250. }
  251. .menubar-group {
  252. display: flex;
  253. flex-direction: row;
  254. }
  255. .menubar-group button {
  256. width: 48pt;
  257. height: 48pt;
  258. }
  259. .popout-group {
  260. margin: 20px;
  261. display: flex;
  262. flex-direction: column;
  263. }
  264. .menu-item {
  265. font-size: 24px;
  266. color: #ccc;
  267. margin: 20px;
  268. }
  269. select.menu-item {
  270. color: #000;
  271. }
  272. #rulers {
  273. position: absolute;
  274. display: block;
  275. width: 100%;
  276. height: 100%;
  277. background: #00000000;
  278. z-index: 1001;
  279. pointer-events: none;
  280. }
  281. #display {
  282. display: block;
  283. width: 100%;
  284. height: 100%;
  285. background: #333;
  286. }
  287. #options .options-label,
  288. #options .options-banner {
  289. flex: 0 1;
  290. font-size: 150%;
  291. }
  292. #options .options-label {
  293. width: 100%;
  294. }
  295. #options .options-banner {
  296. width: calc(100% - 20px);
  297. }
  298. input {
  299. padding: 2px;
  300. }
  301. select {
  302. padding: 2px;
  303. }
  304. .options-row .options-field-numeric {
  305. flex: 0 1 50%;
  306. font-size: 150%;
  307. width: 90%;
  308. padding-left: 4px;
  309. padding-right: 4px;
  310. }
  311. .options-row .options-field-text {
  312. flex: 1 0 90%;
  313. font-size: 150%;
  314. width: 90%;
  315. }
  316. .options-row .options-field-unit {
  317. flex: 0 1 50%;
  318. font-size: 150%;
  319. width: 90%;
  320. padding-left: 4px;
  321. padding-right: 4px;
  322. }
  323. .options-row .options-field-picker {
  324. flex: 1;
  325. width: 100%;
  326. min-width: 90%;
  327. max-width: 90%;
  328. font-size: 150%;
  329. overflow: hidden;
  330. white-space: pre-wrap;
  331. word-break: normal;
  332. text-overflow: ellipsis;
  333. }
  334. .options-row .symbol-button {
  335. width: 75px;
  336. font-size: 70px;
  337. }
  338. .options-row .options-button {
  339. flex: 1;
  340. width: 100%;
  341. font-size: 150%;
  342. }
  343. .options-block .options-button {
  344. flex: 1;
  345. width: 100%;
  346. font-size: 150%;
  347. }
  348. .options-row label {
  349. flex: 1;
  350. width: 100%;
  351. font-size: 150%;
  352. }
  353. body #test-canvas {
  354. position: fixed;
  355. top: 500vh;
  356. }
  357. .switch {
  358. height: 24pt;
  359. }
  360. .switch input {
  361. transform: scale(2);
  362. }
  363. .top-name {
  364. display: none;
  365. text-align: center;
  366. position: fixed;
  367. max-width: 150px;
  368. height: 50px;
  369. transform: translate(-50%, 20pt);
  370. z-index: 1001;
  371. }
  372. body.toggle-top-name .top-name.top-name-needed {
  373. display: block;
  374. }
  375. .top-name::after {
  376. display: block;
  377. background-image: url("./media/ui/arrow.svg");
  378. width: 70px;
  379. height: 70px;
  380. background-size: 70px 70px;
  381. background-repeat: no-repeat;
  382. content: "";
  383. transform: translate(0, -120%);
  384. }
  385. .bottom-name {
  386. display: none;
  387. text-align: center;
  388. position: fixed;
  389. width: 150px;
  390. height: 50px;
  391. z-index: 10001;
  392. transform: translate(-50%, 0pt);
  393. }
  394. body.toggle-bottom-name .bottom-name {
  395. display: inline;
  396. }
  397. #menubar select {
  398. font-size: 16pt;
  399. max-width: 200pt;
  400. min-width: 120pt;
  401. height: 40pt;
  402. max-height: 180pt;
  403. overflow: hidden;
  404. white-space: pre-wrap;
  405. word-break: normal;
  406. text-overflow: ellipsis;
  407. }
  408. #menubar button {
  409. position: relative;
  410. font-size: 32pt;
  411. height: 40pt;
  412. z-index: 1;
  413. }
  414. #open-help {
  415. padding-top: 1pt;
  416. }
  417. #open-help.highlighted::after {
  418. position: absolute;
  419. top: 0;
  420. left: 0;
  421. content: " ";
  422. display: block;
  423. height: 100%;
  424. width: 100%;
  425. background: inherit;
  426. filter: drop-shadow(0px 0px 10px white) drop-shadow(0px 0px 10px white);
  427. z-index: -1;
  428. animation: pulsing 5s linear 0s infinite;
  429. }
  430. @keyframes pulsing {
  431. 0% {
  432. opacity: 100%;
  433. }
  434. 50% {
  435. opacity: 25%;
  436. }
  437. 100% {
  438. opacity: 100%;
  439. }
  440. }
  441. a {
  442. color: #999;
  443. }
  444. #options-attribution-authors {
  445. text-align: center;
  446. }
  447. #options-attribution-owners {
  448. text-align: center;
  449. }
  450. #options-attribution-source {
  451. text-align: center;
  452. }
  453. #options-attribution-citations {
  454. text-align: center;
  455. }
  456. .no-transition {
  457. transition: 0s !important;
  458. }
  459. input[type=checkbox] {
  460. transform: scale(2);
  461. margin-left: 10px;
  462. margin-right: 10px;
  463. }
  464. input ~ label {
  465. user-select: none;
  466. }
  467. body.toggle-height-bars .height-bar,
  468. .entity-box.selected .height-bar {
  469. display: block;
  470. }
  471. .height-bar {
  472. display: none;
  473. min-width: calc(var(--xpos));
  474. min-height: 3px;
  475. height: 3px;
  476. position: absolute;
  477. opacity: 50%;
  478. background: repeating-linear-gradient(90deg, #ffffff, #ffffff 20px, #ffffff00 20px, #ffffff00 40px);
  479. top: calc(-100% + var(--extra));
  480. left: calc(-1 * var(--xpos));
  481. transition: 0s all;
  482. z-index: -1;
  483. }
  484. .height-bar::before {
  485. display: block;
  486. background: gray;
  487. position: absolute;
  488. content: var(--entity-height);
  489. transition: 0s all;
  490. }
  491. .height-bar::after {
  492. display: block;
  493. min-width: 24px;
  494. min-height: 3px;
  495. background: #ffffff;
  496. position: absolute;
  497. left: calc(var(--xpos) - 24px);
  498. transition: 0s all;
  499. content: "";
  500. }
  501. .sr-only {
  502. position: absolute;
  503. width: 1px;
  504. height: 1px;
  505. padding: 0;
  506. margin: -1px;
  507. overflow: hidden;
  508. clip: rect(0,0,0,0);
  509. border: 0;
  510. }
  511. .bottom-cover {
  512. display: none;
  513. position: absolute;
  514. width: 100%;
  515. height: 100vh;
  516. left: 0%;
  517. top: calc(100% - 51px);
  518. background: black;
  519. }
  520. body.toggle-bottom-cover .bottom-cover {
  521. display: inline-block;
  522. }
  523. .transitions {
  524. transition: 0.2s all;
  525. }
  526. .rotate-forward {
  527. transform: rotate(-90deg);
  528. }
  529. .rotate-backward {
  530. transform: rotate(90deg);
  531. }
  532. .flipped {
  533. transform: rotate(180deg);
  534. }
  535. i.fas
  536. i.far {
  537. pointer-events: none;
  538. }
  539. #help-icons {
  540. display: flex;
  541. flex-direction: column;
  542. flex-wrap: wrap;
  543. width: 50vw;
  544. }
  545. #help-icons > div {
  546. flex-basis: 25%;
  547. font-size: 150%;
  548. }
  549. #entity-view {
  550. text-align: center;
  551. font-weight: bold;
  552. font-size: 200%;
  553. }
  554. #entity-view option {
  555. font-weight: normal;
  556. }
  557. #spawners > select,
  558. #spawners > button,
  559. #filters > select,
  560. #filters > button {
  561. display: none;
  562. }
  563. #spawners > select#category-picker,
  564. #filters > select#filter-picker {
  565. display: block;
  566. }
  567. #spawners > select.category-visible,
  568. #spawners > select.category-visible + button,
  569. #filters > select.category-visible,
  570. #filters > select.category-visible + button {
  571. display: block;
  572. }
  573. option.filtered {
  574. display: none;
  575. }
  576. #spawners > select,
  577. #filters > select {
  578. font-size: 24pt;
  579. }
  580. #spawners > button {
  581. font-size: 30pt;
  582. }
  583. #spawners-categories {
  584. font-size: 24pt;
  585. }
  586. .scroll-button {
  587. transition: 0.2s;
  588. position: absolute;
  589. height: 20%;
  590. width: 50px;
  591. font-size: 28px;
  592. background: #ffffff33;
  593. border: 0px;
  594. z-index: 1002;
  595. }
  596. .scroll-button:active {
  597. background: #ffffff66;
  598. }
  599. .scroll-button:hover {
  600. transition: 0.2s;
  601. font-size: 32px;
  602. background: #ffffff44;
  603. }
  604. .scroll-button:disabled {
  605. transition: 0s;
  606. background: #ffffff11;
  607. font-size: 28px;
  608. }
  609. .ratio-info {
  610. position: absolute;
  611. top: 5%;
  612. right: 5%;
  613. z-index: 1002;
  614. pointer-events: none;
  615. }
  616. #zoom-out {
  617. left: 0%;
  618. top: 0%;
  619. }
  620. #zoom-in {
  621. right: 0%;
  622. top: 0%;
  623. }
  624. #scroll-left {
  625. left: 0%;
  626. top: 20%;
  627. }
  628. #scroll-right {
  629. right: 0%;
  630. top: 20%;
  631. }
  632. #scroll-up {
  633. left: 0%;
  634. top: 40%;
  635. }
  636. #scroll-down {
  637. right: 0%;
  638. top: 40%;
  639. }
  640. #shrink {
  641. left: 0%;
  642. top: 60%;
  643. }
  644. #grow {
  645. right: 0%;
  646. top: 60%;
  647. }
  648. #ruler {
  649. left: 0%;
  650. top: 80%;
  651. }
  652. #fit {
  653. right: 0%;
  654. top: 80%;
  655. }
  656. #toggle-menu {
  657. padding-top: 2pt;
  658. position: relative;
  659. }
  660. .popout-menu {
  661. display: none;
  662. flex-direction: column;
  663. flex-wrap: nowrap;
  664. overflow-y: scroll;
  665. max-height: 80vh;
  666. justify-content: start;
  667. position: fixed;
  668. top: 10%;
  669. left: 10%;
  670. z-index: 10000;
  671. background: #222;
  672. border-color: #333;
  673. border-width: 5px;
  674. border-style: solid;
  675. }
  676. .popout-menu::-webkit-scrollbar {
  677. height: 2px;
  678. }
  679. .popout-menu::-webkit-scrollbar-button {
  680. width: 0px;
  681. height: 0px;
  682. }
  683. .popout-menu::-webkit-scrollbar-thumb {
  684. background: #e1e1e1;
  685. border: 0px none #ffffff;
  686. border-radius: 50px;
  687. }
  688. .popout-menu::-webkit-scrollbar-thumb:hover {
  689. background: #ffffff;
  690. }
  691. .popout-menu::-webkit-scrollbar-thumb:active {
  692. background: #000000;
  693. }
  694. .popout-menu::-webkit-scrollbar-track {
  695. background: #00000000;
  696. border: 0px none #ffffff;
  697. border-radius: 50px;
  698. }
  699. .popout-menu::-webkit-scrollbar-track:hover {
  700. background: #666666;
  701. }
  702. .popout-menu::-webkit-scrollbar-track:active {
  703. background: #333333;
  704. }
  705. .popout-menu::-webkit-scrollbar-corner {
  706. background: transparent;
  707. }
  708. .popout-menu.visible {
  709. display: flex;
  710. }
  711. .menu-button {
  712. height: 48pt;
  713. width: 56pt;
  714. font-size: 40pt;
  715. }
  716. .menu-button-holder {
  717. display: flex;
  718. align-items: center;
  719. margin: 5px 0px 5px;
  720. }
  721. .menu-text {
  722. font-size: 24pt;
  723. margin-left: 6pt;
  724. }
  725. #options-entity-defaults > button {
  726. word-break: break-word;
  727. }
  728. button {
  729. border: 3px;
  730. border-style: outset;
  731. }
  732. button:hover {
  733. background: #555;
  734. }
  735. button:enabled:active {
  736. border-style: inset;
  737. background: #aaa;
  738. }
  739. .toast {
  740. position: absolute;
  741. bottom: 10%;
  742. left: 50%;
  743. animation-name: toast-animation;
  744. animation-duration: 5s;
  745. animation-timing-function: linear;
  746. z-index: 99999;
  747. }
  748. @keyframes toast-animation {
  749. 0% {
  750. transform: translate(-50%, 0);
  751. opacity: 1;
  752. }
  753. 50% {
  754. transform: translate(-50%, -10vh);
  755. opacity: 1;
  756. }
  757. 100% {
  758. transform: translate(-50%, -20vh);
  759. opacity: 0;
  760. }
  761. }
  762. .nsfw {
  763. color: red;
  764. font-style: bold;
  765. }
  766. select {
  767. background: #111;
  768. color: #eee;
  769. border-color: #444;
  770. }
  771. select > option {
  772. color: #eee;
  773. }
  774. button:focus,
  775. select:focus,
  776. input:focus {
  777. outline-color: #eee;
  778. }
  779. input {
  780. background: #111;
  781. color: #eee;
  782. border-color: #444;
  783. }
  784. button {
  785. background: #111;
  786. color: #ddd;
  787. border-color: #666;
  788. }
  789. .settings-holder {
  790. display: flex;
  791. align-items: center;
  792. padding: 10px 0px 10px;
  793. border-color: #222;
  794. border-width: 5px;
  795. border-style: solid;
  796. max-width: 360pt;
  797. height: 60pt;
  798. }
  799. .settings-holder.enabled {
  800. background: green;
  801. border-color: darkgreen;
  802. }
  803. .settings-desc {
  804. text-align: right;
  805. margin-right: 8pt;
  806. user-select: none;
  807. flex: 1;
  808. }
  809. .settings-holder.disabled {
  810. background: gray;
  811. border-color: darkslategray;
  812. }
  813. .settings-name {
  814. font-size: 200%;
  815. margin-left: 8pt;
  816. user-select: none;
  817. max-width: 120pt;
  818. width: 120pt;
  819. }
  820. .settings-holder > select {
  821. height: 100%;
  822. background: darkgreen;
  823. font-size: 16pt;
  824. }
  825. .filter-button > i {
  826. color: gray;
  827. }
  828. .button-counter {
  829. position: absolute;
  830. color: white;
  831. opacity: 0.75;
  832. width: 25%;
  833. height: 25%;
  834. font-size: 16pt;
  835. top: 0%;
  836. left: 0%;
  837. z-index: 1;
  838. user-select: none;
  839. }
  840. body.screenshot-mode #menubar,
  841. body.screenshot-mode #options,
  842. body.screenshot-mode .scroll-button {
  843. display: none;
  844. }