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.
 
 
 

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