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.
 
 
 

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