less copy protection, more size visualization
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 

1002 řádky
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 10vw;
  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: auto;
  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: #00000000;
  126. border: 0px none #ffffff;
  127. border-radius: 50px;
  128. }
  129. #options::-webkit-scrollbar-track:hover {
  130. background: #666666;
  131. }
  132. #options::-webkit-scrollbar-track:active {
  133. background: #333333;
  134. }
  135. #options::-webkit-scrollbar-corner {
  136. background: transparent;
  137. }
  138. .options-two-buttons {
  139. display: flex;
  140. justify-content: space-evenly;
  141. }
  142. .options-two-buttons > button {
  143. font-size: 18pt;
  144. }
  145. .options-category {
  146. position: relative;
  147. }
  148. .options-row {
  149. position: relative;
  150. flex-direction: column;
  151. flex-wrap: wrap;
  152. display: flex;
  153. text-align: center;
  154. align-items: center;
  155. margin-left: auto;
  156. margin-right: auto;
  157. margin-top: 8px;
  158. margin-bottom: 8px;
  159. }
  160. .options-row.full {
  161. min-width: 90%;
  162. }
  163. .options-block {
  164. display: flex;
  165. text-align: center;
  166. min-width: 90%;
  167. width: 90%;
  168. margin: auto;
  169. flex-direction: column;
  170. }
  171. .options-label {
  172. text-align: center;
  173. user-select: none;
  174. margin-top: 12px;
  175. margin-bottom: 4px;
  176. }
  177. .options-block.options-block-optional {
  178. display: none;
  179. }
  180. body.show-extra-options .options-block.options-block-optional {
  181. display: flex;
  182. }
  183. .options-header {
  184. text-align: center;
  185. font-size: 24pt;
  186. margin-top: 10px;
  187. margin-bottom: 10px;
  188. background: #333;
  189. user-select: none;
  190. }
  191. .options-banner-buttons {
  192. width: 100%;
  193. text-align: center;
  194. margin-top: 10px;
  195. }
  196. .options-banner-button {
  197. display: inline-block;
  198. text-align: center;
  199. font-size: 20pt;
  200. color: #ddd;
  201. background: #262;
  202. text-decoration: none;
  203. user-select: none;
  204. border-radius: 6pt;
  205. margin: 10px;
  206. border-color: #666;
  207. border-width: 3pt;
  208. border-style: outset;
  209. width: 85%;
  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: 1 0 5vh;
  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 select {
  406. font-size: 16pt;
  407. max-width: 200pt;
  408. min-width: 120pt;
  409. height: 40pt;
  410. max-height: 180pt;
  411. overflow: hidden;
  412. white-space: pre-wrap;
  413. word-break: normal;
  414. text-overflow: ellipsis;
  415. }
  416. #menubar button {
  417. position: relative;
  418. font-size: 32pt;
  419. height: 40pt;
  420. z-index: 1;
  421. }
  422. #open-help {
  423. padding-top: 1pt;
  424. }
  425. #open-help.highlighted::after {
  426. position: absolute;
  427. top: 0;
  428. left: 0;
  429. content: " ";
  430. display: block;
  431. height: 100%;
  432. width: 100%;
  433. background: inherit;
  434. filter: drop-shadow(0px 0px 10px white) drop-shadow(0px 0px 10px white);
  435. z-index: -1;
  436. animation: pulsing 5s linear 0s infinite;
  437. }
  438. @keyframes pulsing {
  439. 0% {
  440. opacity: 100%;
  441. }
  442. 50% {
  443. opacity: 25%;
  444. }
  445. 100% {
  446. opacity: 100%;
  447. }
  448. }
  449. a {
  450. color: #999;
  451. }
  452. #options-attribution-authors {
  453. text-align: center;
  454. }
  455. #options-attribution-owners {
  456. text-align: center;
  457. }
  458. #options-attribution-source {
  459. text-align: center;
  460. }
  461. #options-attribution-citations {
  462. text-align: center;
  463. }
  464. .no-transition {
  465. transition: 0s !important;
  466. }
  467. input[type=checkbox] {
  468. transform: scale(2);
  469. margin-left: 10px;
  470. margin-right: 10px;
  471. }
  472. input ~ label {
  473. user-select: none;
  474. }
  475. body.toggle-height-bars .height-bar,
  476. .entity-box.selected .height-bar {
  477. display: block;
  478. }
  479. .height-bar {
  480. display: none;
  481. min-width: calc(var(--xpos));
  482. min-height: 3px;
  483. height: 3px;
  484. position: absolute;
  485. opacity: 50%;
  486. background: repeating-linear-gradient(90deg, #ffffff, #ffffff 20px, #ffffff00 20px, #ffffff00 40px);
  487. top: calc(-100% + var(--extra));
  488. left: calc(-1 * var(--xpos));
  489. transition: 0s all;
  490. z-index: -1;
  491. }
  492. .height-bar::before {
  493. display: block;
  494. background: gray;
  495. position: absolute;
  496. content: var(--entity-height);
  497. transition: 0s all;
  498. }
  499. .height-bar::after {
  500. display: block;
  501. min-width: 24px;
  502. min-height: 3px;
  503. background: #ffffff;
  504. position: absolute;
  505. left: calc(var(--xpos) - 24px);
  506. transition: 0s all;
  507. content: "";
  508. }
  509. .sr-only {
  510. position: absolute;
  511. width: 1px;
  512. height: 1px;
  513. padding: 0;
  514. margin: -1px;
  515. overflow: hidden;
  516. clip: rect(0,0,0,0);
  517. border: 0;
  518. }
  519. .bottom-cover {
  520. display: none;
  521. position: absolute;
  522. width: 100%;
  523. height: 100vh;
  524. left: 0%;
  525. top: calc(100% - 51px);
  526. background: black;
  527. }
  528. body.toggle-bottom-cover .bottom-cover {
  529. display: inline-block;
  530. }
  531. .transitions {
  532. transition: 0.2s all;
  533. }
  534. .rotate-forward {
  535. transform: rotate(-90deg);
  536. }
  537. .rotate-backward {
  538. transform: rotate(90deg);
  539. }
  540. .flipped {
  541. transform: rotate(180deg);
  542. }
  543. i.fas
  544. i.far {
  545. pointer-events: none;
  546. }
  547. #help-icons {
  548. display: flex;
  549. flex-direction: column;
  550. flex-wrap: wrap;
  551. width: 50vw;
  552. }
  553. #help-icons > div {
  554. flex-basis: 25%;
  555. font-size: 150%;
  556. }
  557. #entity-view {
  558. text-align: center;
  559. font-weight: bold;
  560. font-size: 200%;
  561. }
  562. #entity-view option {
  563. font-weight: normal;
  564. }
  565. #spawners > select,
  566. #spawners > button,
  567. #filters > select,
  568. #filters > button {
  569. display: none;
  570. }
  571. #spawners > select#category-picker,
  572. #filters > select#filter-picker {
  573. display: block;
  574. }
  575. #spawners > select.category-visible,
  576. #spawners > select.category-visible + button,
  577. #filters > select.category-visible,
  578. #filters > select.category-visible + button {
  579. display: block;
  580. }
  581. option.filtered {
  582. display: none;
  583. }
  584. #spawners > select,
  585. #filters > select {
  586. font-size: 24pt;
  587. }
  588. #spawners > button {
  589. font-size: 30pt;
  590. }
  591. #spawners-categories {
  592. font-size: 24pt;
  593. }
  594. .scroll-button {
  595. transition: 0.2s;
  596. position: absolute;
  597. height: 20%;
  598. width: 50px;
  599. font-size: 28px;
  600. background: #ffffff33;
  601. border: 0px;
  602. z-index: 1002;
  603. }
  604. .scroll-button:active {
  605. background: #ffffff66;
  606. }
  607. .scroll-button:hover {
  608. transition: 0.2s;
  609. font-size: 32px;
  610. background: #ffffff44;
  611. }
  612. .scroll-button:disabled {
  613. transition: 0s;
  614. background: #ffffff11;
  615. font-size: 28px;
  616. }
  617. .ratio-info {
  618. position: absolute;
  619. top: 5%;
  620. right: 5%;
  621. z-index: 1002;
  622. pointer-events: none;
  623. }
  624. #zoom-out {
  625. left: 0%;
  626. top: 0%;
  627. }
  628. #zoom-in {
  629. right: 0%;
  630. top: 0%;
  631. }
  632. #scroll-left {
  633. left: 0%;
  634. top: 20%;
  635. }
  636. #scroll-right {
  637. right: 0%;
  638. top: 20%;
  639. }
  640. #scroll-up {
  641. left: 0%;
  642. top: 40%;
  643. }
  644. #scroll-down {
  645. right: 0%;
  646. top: 40%;
  647. }
  648. #shrink {
  649. left: 0%;
  650. top: 60%;
  651. }
  652. #grow {
  653. right: 0%;
  654. top: 60%;
  655. }
  656. #ruler {
  657. left: 0%;
  658. top: 80%;
  659. }
  660. #fit {
  661. right: 0%;
  662. top: 80%;
  663. }
  664. #toggle-menu {
  665. padding-top: 2pt;
  666. position: relative;
  667. }
  668. .popout-menu {
  669. display: none;
  670. flex-direction: column;
  671. flex-wrap: nowrap;
  672. overflow-y: scroll;
  673. max-height: 80vh;
  674. justify-content: start;
  675. position: fixed;
  676. top: 10%;
  677. left: 10%;
  678. z-index: 10000;
  679. background: #222;
  680. border-color: #333;
  681. border-width: 5px;
  682. border-style: solid;
  683. }
  684. .popout-menu::-webkit-scrollbar {
  685. height: 2px;
  686. }
  687. .popout-menu::-webkit-scrollbar-button {
  688. width: 0px;
  689. height: 0px;
  690. }
  691. .popout-menu::-webkit-scrollbar-thumb {
  692. background: #e1e1e1;
  693. border: 0px none #ffffff;
  694. border-radius: 50px;
  695. }
  696. .popout-menu::-webkit-scrollbar-thumb:hover {
  697. background: #ffffff;
  698. }
  699. .popout-menu::-webkit-scrollbar-thumb:active {
  700. background: #000000;
  701. }
  702. .popout-menu::-webkit-scrollbar-track {
  703. background: #00000000;
  704. border: 0px none #ffffff;
  705. border-radius: 50px;
  706. }
  707. .popout-menu::-webkit-scrollbar-track:hover {
  708. background: #666666;
  709. }
  710. .popout-menu::-webkit-scrollbar-track:active {
  711. background: #333333;
  712. }
  713. .popout-menu::-webkit-scrollbar-corner {
  714. background: transparent;
  715. }
  716. .popout-menu.visible {
  717. display: flex;
  718. }
  719. .menu-button {
  720. height: 48pt;
  721. width: 56pt;
  722. font-size: 40pt;
  723. }
  724. .menu-button-holder {
  725. display: flex;
  726. align-items: center;
  727. margin: 5px 0px 5px;
  728. }
  729. .menu-text {
  730. font-size: 24pt;
  731. margin-left: 6pt;
  732. }
  733. #options-entity-defaults > button {
  734. word-break: break-word;
  735. }
  736. button {
  737. border: 3px;
  738. border-style: outset;
  739. }
  740. button:hover {
  741. background: #555;
  742. }
  743. button:enabled:active {
  744. border-style: inset;
  745. background: #aaa;
  746. }
  747. .toast {
  748. position: absolute;
  749. bottom: 10%;
  750. left: 50%;
  751. animation-name: toast-animation;
  752. animation-duration: 5s;
  753. animation-timing-function: linear;
  754. z-index: 99999;
  755. }
  756. @keyframes toast-animation {
  757. 0% {
  758. transform: translate(-50%, 0);
  759. opacity: 1;
  760. }
  761. 50% {
  762. transform: translate(-50%, -10vh);
  763. opacity: 1;
  764. }
  765. 100% {
  766. transform: translate(-50%, -20vh);
  767. opacity: 0;
  768. }
  769. }
  770. .nsfw {
  771. color: red;
  772. font-style: bold;
  773. }
  774. select {
  775. background: #111;
  776. color: #eee;
  777. border-color: #444;
  778. }
  779. select > option {
  780. color: #eee;
  781. }
  782. button:focus,
  783. select:focus,
  784. input:focus {
  785. outline-color: #eee;
  786. }
  787. input {
  788. background: #111;
  789. color: #eee;
  790. border-color: #444;
  791. }
  792. button {
  793. background: #111;
  794. color: #ddd;
  795. border-color: #666;
  796. }
  797. .settings-holder {
  798. display: flex;
  799. align-items: center;
  800. padding: 10px 0px 10px;
  801. border-color: #222;
  802. border-width: 5px;
  803. border-style: solid;
  804. max-width: 400pt;
  805. }
  806. .settings-holder.enabled {
  807. background: green;
  808. border-color: darkgreen;
  809. }
  810. .settings-desc {
  811. margin-left: 8pt;
  812. user-select: none;
  813. flex: 1;
  814. }
  815. .settings-holder.disabled {
  816. background: gray;
  817. border-color: darkslategray;
  818. }
  819. .settings-name {
  820. font-size: 200%;
  821. margin-left: 8pt;
  822. user-select: none;
  823. max-width: 200pt;
  824. width: 200pt;
  825. }
  826. .settings-vertical {
  827. display: flex;
  828. flex-direction: column;
  829. width: 250pt;
  830. max-width: 250pt;
  831. min-width: 250pt;
  832. }
  833. .settings-holder > select {
  834. height: 100%;
  835. background: darkgreen;
  836. font-size: 16pt;
  837. }
  838. .filter-button > i {
  839. color: gray;
  840. }
  841. .button-counter {
  842. position: absolute;
  843. color: white;
  844. opacity: 0.75;
  845. width: 25%;
  846. height: 25%;
  847. font-size: 16pt;
  848. top: 0%;
  849. left: 0%;
  850. z-index: 1;
  851. user-select: none;
  852. }
  853. body.screenshot-mode #menubar,
  854. body.screenshot-mode #options,
  855. body.screenshot-mode .scroll-button {
  856. display: none;
  857. }