less copy protection, more size visualization
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

492 lines
8.2 KiB

  1. @import url('https://fonts.googleapis.com/css?family=Coda&display=swap');
  2. html {
  3. height: 100%;
  4. overflow-x: hidden;
  5. overflow-y: hidden;
  6. color: #eee;
  7. }
  8. body {
  9. background: #111;
  10. display: flex;
  11. flex-direction: column;
  12. align-items: center;
  13. justify-content: flex-start;
  14. height: 100%;
  15. width: 100%;
  16. font-family: 'Coda', cursive;
  17. }
  18. .entity-box {
  19. position: absolute;
  20. --height: 100px;
  21. max-height: var(--height);
  22. height: var(--height);
  23. text-align: center;
  24. -webkit-user-drag: none;
  25. -khtml-user-drag: none;
  26. -moz-user-drag: none;
  27. -o-user-drag: none;
  28. pointer-events: none;
  29. 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);
  30. }
  31. .entity-image {
  32. position: absolute;
  33. height: 100%;
  34. pointer-events: auto;
  35. -webkit-user-drag: none;
  36. -khtml-user-drag: none;
  37. -moz-user-drag: none;
  38. -o-user-drag: none;
  39. --offset: -100%;
  40. transform: translate(-50%, var(--offset));
  41. }
  42. .entity-name {
  43. display: none;
  44. position: absolute;
  45. top: calc(-100% + var(--extra) / 2);
  46. left: 0%;
  47. transform: translate(-50%, -36px);
  48. font-size: 24px;
  49. pointer-events: none;
  50. max-width: 250px;
  51. width: 250px;
  52. transition: all 0s;
  53. }
  54. body.toggle-entity-name .entity-name {
  55. display: inline;
  56. }
  57. .entity-box.selected > img {
  58. filter: drop-shadow(0px 0px 5px gold);
  59. }
  60. body.toggle-entity-glow .entity-box:not(.selected) > img{
  61. filter: drop-shadow(0px 0px 2px white);
  62. }
  63. #main-area {
  64. min-height: 0px;
  65. display: flex;
  66. flex: 1 0 90vh;
  67. width: 100%;
  68. flex-direction: row;
  69. }
  70. #options {
  71. min-width: 120pt;
  72. flex: 1 0 15vw;
  73. display: flex;
  74. justify-content: start;
  75. flex-direction: column;
  76. background: #444;
  77. overflow-x: hidden;
  78. overflow-y: scroll;
  79. height: 100%;
  80. scrollbar-color: #e1e1e1 #888;
  81. }
  82. #options-attribution {
  83. display: none;
  84. }
  85. #options::-webkit-scrollbar {
  86. height: 2px;
  87. }
  88. #options::-webkit-scrollbar-button {
  89. width: 0px;
  90. height: 0px;
  91. }
  92. #options::-webkit-scrollbar-thumb {
  93. background: #e1e1e1;
  94. border: 0px none #ffffff;
  95. border-radius: 50px;
  96. }
  97. #options::-webkit-scrollbar-thumb:hover {
  98. background: #ffffff;
  99. }
  100. #options::-webkit-scrollbar-thumb:active {
  101. background: #000000;
  102. }
  103. #options::-webkit-scrollbar-track {
  104. background: #00000000;
  105. border: 0px none #ffffff;
  106. border-radius: 50px;
  107. }
  108. #options::-webkit-scrollbar-track:hover {
  109. background: #666666;
  110. }
  111. #options::-webkit-scrollbar-track:active {
  112. background: #333333;
  113. }
  114. #options::-webkit-scrollbar-corner {
  115. background: transparent;
  116. }
  117. .options-two-buttons {
  118. display: flex;
  119. justify-content: space-evenly;
  120. }
  121. .options-row {
  122. display: flex;
  123. text-align: center;
  124. width: 100%;
  125. margin-top: 10px;
  126. margin-bottom: 10px;
  127. }
  128. .options-block {
  129. display: flex;
  130. text-align: center;
  131. min-width: 100%;
  132. flex-direction: column;
  133. }
  134. @media (max-aspect-ratio: 1/1) {
  135. .options-row {
  136. flex-direction: column;
  137. }
  138. .options-row > .options-field-numeric {
  139. width: 100%;
  140. }
  141. .options-row > .options-field-unit {
  142. width: 100%;
  143. }
  144. }
  145. .options-header {
  146. text-align: center;
  147. font-size: 24pt;
  148. margin-top: 10px;
  149. margin-bottom: 10px;
  150. }
  151. .options-selector {
  152. font-size: 150%;
  153. width: 100%;
  154. }
  155. #entities {
  156. position: absolute;
  157. user-select: none;
  158. width: 100%;
  159. height: 100%;
  160. }
  161. #world {
  162. position: relative;
  163. flex: 1 0 85vw;
  164. height: 100%;
  165. overflow: hidden;
  166. }
  167. #menubar {
  168. display: flex;
  169. flex: 1 0 10vh;
  170. flex-direction: row;
  171. justify-content: space-evenly;
  172. align-items: center;
  173. flex-wrap: wrap;
  174. min-width: 100vw;
  175. background: #222;
  176. }
  177. #menubar.hover-delete {
  178. background: #922;
  179. }
  180. .menubar-group {
  181. display: flex;
  182. flex-direction: row;
  183. justify-content: center;
  184. align-items: center;
  185. }
  186. .menubar-group button,
  187. .menubar-group select {
  188. height: 5vh;
  189. }
  190. .menu-item {
  191. font-size: 24px;
  192. color: #ccc;
  193. margin: 20px;
  194. }
  195. select.menu-item {
  196. color: #000;
  197. }
  198. #display {
  199. width: 100%;
  200. height: 100%;
  201. background: #333;
  202. }
  203. #options .options-label {
  204. flex: 0 1;
  205. width: 100%;
  206. font-size: 150%;
  207. }
  208. .options-label {
  209. text-align: center;
  210. }
  211. .options-row .options-field-numeric {
  212. flex: 1 1 60%;
  213. min-width: 0px;
  214. font-size: 150%;
  215. }
  216. .options-row .options-field-text {
  217. flex: 1 1 100%;
  218. min-width: 0px;
  219. font-size: 150%;
  220. }
  221. .options-row .options-field-unit {
  222. flex: 1 1 40%;
  223. min-width: 0px;
  224. font-size: 150%;
  225. }
  226. .options-row .options-button {
  227. flex: 1;
  228. width: 100%;
  229. font-size: 150%;
  230. }
  231. .options-block .options-button {
  232. flex: 1;
  233. width: 100%;
  234. font-size: 150%;
  235. }
  236. .options-row label {
  237. flex: 1;
  238. width: 100%;
  239. font-size: 150%;
  240. }
  241. body #test-canvas {
  242. position: fixed;
  243. top: 500vh;
  244. }
  245. .switch {
  246. height: 24pt;
  247. }
  248. .switch input {
  249. transform: scale(2);
  250. }
  251. .bottom-name {
  252. display: none;
  253. text-align: center;
  254. position: fixed;
  255. width: 150px;
  256. height: 50px;
  257. transform: translate(-50%, 0%);
  258. }
  259. body.toggle-bottom-name .bottom-name {
  260. display: inline;
  261. }
  262. #spawners > button {
  263. display: none;
  264. font-size: 24pt;
  265. }
  266. #spawners > select {
  267. display: none;
  268. font-size: 24pt;
  269. }
  270. #spawners > select#category-picker {
  271. display: inline;
  272. }
  273. #spawners > button.category-visible,
  274. #spawners > select.category-visible {
  275. display: inline;
  276. }
  277. #menubar button {
  278. font-size: 24pt;
  279. }
  280. #help {
  281. display: none;
  282. flex-direction: column;
  283. justify-content: space-evenly;
  284. align-items: center;
  285. position: absolute;
  286. width: 60vw;
  287. height: 60vh;
  288. margin: 0pt;
  289. padding-top: 20vh;
  290. padding-bottom: 20vh;
  291. padding-left: 20vw;
  292. padding-right: 20vw;
  293. transition: 1s;
  294. text-align: center;
  295. background: #333;
  296. opacity: 0;
  297. z-index: 9999999;
  298. }
  299. #help.visible {
  300. display: flex;
  301. opacity: 0.9;
  302. transition: 1s;
  303. }
  304. #help h1 {
  305. font-size: 150%;
  306. }
  307. #help p {
  308. font-size: 125%;
  309. }
  310. #help button {
  311. width: 20vw;
  312. height: 10vh;
  313. font-size: 9vh;
  314. }
  315. a {
  316. color: #999;
  317. }
  318. #options-attribution-authors {
  319. text-align: center;
  320. }
  321. #options-attribution-owners {
  322. text-align: center;
  323. }
  324. #options-attribution-source {
  325. text-align: center;
  326. }
  327. .floating-slider {
  328. position: absolute;
  329. z-index: 1000;
  330. width: 250px;
  331. height: 50px;
  332. }
  333. #slider-scale {
  334. top: 1%;
  335. left: 5%;
  336. }
  337. #slider-scale:before {
  338. content: "World scale";
  339. position: absolute;
  340. left: 50%;
  341. transform: translate(-50%, 0%);
  342. font-size: 20px;
  343. }
  344. #slider-entity-scale {
  345. top: 1%;
  346. right: 5%;
  347. }
  348. #slider-entity-scale:before {
  349. content: "Entity scale";
  350. position: absolute;
  351. left: 50%;
  352. transform: translate(-50%, 0%);
  353. font-size: 20px;
  354. }
  355. .no-transition {
  356. transition: 0s !important;
  357. }
  358. .corner-ribbon {
  359. width: 200px;
  360. background: #e43;
  361. position: fixed;
  362. top: 25px;
  363. left: -50px;
  364. text-align: center;
  365. padding: 10px;
  366. letter-spacing: 1px;
  367. color: #f0f0f0;
  368. transform: rotate(-45deg);
  369. -webkit-transform: rotate(-45deg);
  370. }
  371. .corner-ribbon.bottom-right{
  372. top: auto;
  373. right: -50px;
  374. bottom: 25px;
  375. left: auto;
  376. transform: rotate(-45deg);
  377. -webkit-transform: rotate(-45deg);
  378. }
  379. a.corner-ribbon {
  380. text-decoration: none;
  381. }
  382. input[type=checkbox] {
  383. transform: scale(2);
  384. margin-left: 10px;
  385. margin-right: 10px;
  386. }
  387. input ~ label {
  388. user-select: none;
  389. }
  390. body.toggle-height-bars .height-bar {
  391. display: block;
  392. }
  393. .height-bar {
  394. display: none;
  395. min-width: calc(var(--xpos));
  396. min-height: 3px;
  397. height: 3px;
  398. position: absolute;
  399. opacity: 50%;
  400. background: repeating-linear-gradient(90deg, #ffffff, #ffffff 20px, #ffffff00 20px, #ffffff00 40px);
  401. top: calc(-100% + var(--extra));
  402. left: calc(-1 * var(--xpos));
  403. transition: 0s all;
  404. z-index: -1;
  405. }
  406. .height-bar::before {
  407. display: block;
  408. background: gray;
  409. position: absolute;
  410. content: var(--entity-height);
  411. transition: 0s all;
  412. }
  413. .height-bar::after {
  414. display: block;
  415. min-width: 24px;
  416. min-height: 3px;
  417. background: #ffffff;
  418. position: absolute;
  419. left: calc(var(--xpos) - 24px);
  420. transition: 0s all;
  421. content: "";
  422. }