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

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