less copy protection, more size visualization
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

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