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ů.
 
 
 

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