less copy protection, more size visualization
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 

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