Advertisement
Gudu0

UMT CSS

May 3rd, 2025 (edited)
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.67 KB | Source Code | 0 0
  1. /* === RESET AND BASE STYLES === */
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. box-sizing: border-box;
  6. }
  7.  
  8. html, body {
  9. background-color: darkgray;
  10. height: 100%;
  11. overflow: hidden;
  12. font-family: sans-serif;
  13. }
  14.  
  15. /* === LAYOUT STRUCTURE === */
  16. #app {
  17. display: flex;
  18. height: 100vh;
  19. overflow: hidden;
  20. }
  21.  
  22. #grid-container {
  23. flex: 1;
  24. display: flex;
  25. justify-content: center;
  26. align-items: center;
  27. padding: 20px;
  28. overflow: auto;
  29. max-height: 100vh;
  30. }
  31.  
  32. #image-selector {
  33. display: flex;
  34. flex-direction: column;
  35. width: 250px;
  36. max-height: 100vh;
  37. padding: 10px;
  38. background-color: #f0f0f0;
  39. box-shadow: 2px 0 5px rgba(0,0,0,0.1);
  40. overflow-y: auto;
  41. image-rendering: pixelated;
  42. }
  43.  
  44. #image-selector img {
  45. width: auto;
  46. height: auto;
  47. max-width: 64px; /* Allow the image to grow up to its container's width */
  48. max-height: 64px; /* Allow the image to grow up to its container's height */
  49. }
  50.  
  51. #image-selector .small-img {
  52. width: 64px; /* Set small images to 64x64 */
  53. height: 64px;
  54. }
  55.  
  56. #image-selector .large-img {
  57. max-width: 100%; /* Allow the image to grow up to its container's width */
  58. max-height: 100%; /* Allow the image to grow up to its container's height */
  59. width:192px;
  60. height:64px;
  61. }
  62.  
  63. /* === HEADER AND BUTTONS === */
  64. #header {
  65. position: relative;
  66. padding: 30px;
  67. background-color: #ac6868;
  68. display: flex;
  69. justify-content: flex-end;
  70. }
  71.  
  72. #button-container {
  73. position: absolute;
  74. top: 0;
  75. right: 10px;
  76. }
  77.  
  78. .save-button, .load-button {
  79. padding: 10px 20px;
  80. /* margin-top: 10px; */
  81. border-radius: 8px;
  82. background-color: #f0f0f0;
  83. transition: background-color 0.2s;
  84.  
  85. }
  86.  
  87. #filename:focus {
  88. outline: none;
  89. border-color: #888;
  90. }
  91.  
  92. #filename-label {
  93. color: #ccc;
  94. font-size: 14px;
  95. white-space: nowrap;
  96. }
  97.  
  98. #filename {
  99. flex: 1;
  100. padding: 6px 8px;
  101. border: 1px solid #ccc;
  102. border-radius: 4px;
  103. background-color: #222;
  104. color: #fff;
  105. font-size: 14px;
  106. }
  107. .save_load-header {
  108. display: flex;
  109. align-items: center;
  110. gap: 10px;
  111. padding: 10px;
  112. /* background-color: #333; */
  113. }
  114.  
  115. /* === IMAGE FILTER BUTTONS === */
  116. #filter-buttons {
  117. display: flex;
  118. flex-direction: column;
  119. gap: 5px;
  120. margin-bottom: 10px;
  121. }
  122.  
  123. #filter-buttons button {
  124. padding: 5px 10px;
  125. border-radius: 4px;
  126. background-color: #ddd;
  127. }
  128.  
  129. #filter-buttons button.active,
  130. #filter-buttons button:hover {
  131. background-color: #bbb;
  132. }
  133.  
  134. /* === IMAGE GRID IN SIDEBAR === */
  135. #image-grid {
  136. display: flex;
  137. flex-wrap: wrap;
  138. gap: 8px;
  139. overflow-y: auto;
  140. max-height: 66%;
  141. overflow-x: hidden;
  142. }
  143.  
  144. .image-wrapper {
  145. display: flex;
  146. align-items: center;
  147. justify-content: center;
  148. padding: 4px;
  149. background-color: #fff;
  150. border-radius: 4px;
  151. }
  152.  
  153. .image-wrapper img {
  154. max-width: 100%;
  155. max-height: 100%;
  156. object-fit: contain;
  157. cursor: pointer;
  158. border-radius: 4px;
  159. image-rendering: pixelated;
  160. transition: transform 0.2s;
  161. }
  162.  
  163. .image-wrapper img.small-img {
  164. width: 64px;
  165. height: 64px;
  166. }
  167.  
  168.  
  169. /* === IMAGE SELECTION HIGHLIGHT === */
  170. #image-grid img.selected {
  171. border: 2px solid blue;
  172. }
  173.  
  174. /* === MAIN GRID STYLES === */
  175. .grid {
  176. margin: 1em auto;
  177. border-collapse: collapse;
  178. border-spacing: 0;
  179. }
  180.  
  181. .grid td {
  182. cursor: pointer;
  183. width: 30px;
  184. height: 30px;
  185. text-align: center;
  186. font-size: 13px;
  187. padding: 0;
  188. margin: 0;
  189. }
  190.  
  191. .grid td img {
  192. width: 32px;
  193. height: 32px;
  194. object-fit: none;
  195. display: block;
  196. transform-origin: center center;
  197. transition: transform 0.15s ease-in-out;
  198. backface-visibility: hidden;
  199. }
  200.  
  201. td {
  202. padding: 0;
  203. margin: 0;
  204. width: 32px;
  205. height: 32px;
  206. }
  207.  
  208. .tile {
  209. width: 32px;
  210. height: 32px;
  211. /* background-size: 32px 96px; <- show full height of tall image */
  212. background-repeat: no-repeat;
  213. transform-origin: center;
  214. position: relative;
  215. -webkit-touch-callout: none !important;
  216. -webkit-user-drag: none !important;
  217. -webkit-user-select: none !important;
  218. -khtml-user-select: none !important;
  219. -moz-user-select: none !important;
  220. -ms-user-select: none !important;
  221. user-select: none !important;
  222. }
  223. .tile .preview {
  224. position: absolute;
  225. top: 0; left: 0;
  226. width: 100%; height: 100%;
  227. background-color: rgba(0, 255, 0, 0.3);
  228. opacity: 0;
  229. pointer-events: none;
  230. z-index: 1;
  231. }
  232.  
  233. .tile.preview-error .preview {
  234. background-color: rgba(255, 0, 0, 0.4);
  235. }
  236.  
  237. .preview {
  238. position: absolute;
  239. top: 0;
  240. left: 0;
  241. width: 100%;
  242. height: 100%;
  243. background-color: rgba(0, 255, 0, 0.3);
  244. opacity: 0;
  245. pointer-events: none;
  246. z-index: 1;
  247. }
  248.  
  249. .input-rows {
  250. display: none;
  251. cursor: default;
  252. }
  253.  
  254. .input-columns {
  255. display: block;
  256. cursor: pointer;
  257. }
  258. /* === SETTINGS PANEL === */
  259. #settings-panel {
  260. position: absolute;
  261. top: 60px;
  262. right: 20px;
  263. padding: 20px;
  264. background-color: #f0f0f0;
  265. color: black;
  266. border-radius: 8px;
  267. display: flex;
  268. flex-direction: column;
  269. gap: 10px;
  270. width: 200px;
  271. }
  272.  
  273. label {
  274. display: flex;
  275. align-items: center;
  276. gap: 10px;
  277. }
  278.  
  279. #filter-buttons .active-filter {
  280. background-color: #4caf50;
  281. color: white;
  282. }
  283.  
  284. #setting-item {
  285. display: block;
  286. }
  287.  
  288. /* Drag/Selection Prevention */
  289. button, label, input, select, img {
  290. -webkit-touch-callout: none !important;
  291. -webkit-user-select: none !important;
  292. -webkit-user-drag: none !important;
  293. -khtml-user-select: none !important;
  294. -moz-user-select: none !important;
  295. -ms-user-select: none !important;
  296. user-select: none !important;
  297. }
  298.  
  299. .input-tile {
  300. pointer-events: none;
  301. }
  302.  
  303. /* Trying really hard to make these tiles not have a pointer cursor, its really annoying*/
  304. #crazy .invisible-tile,
  305. #crazy .invisible-tile* {
  306. background: none !important;
  307. border: none;
  308. pointer-events: none;
  309. cursor: default !important;
  310. }
  311.  
  312.  
  313.  
  314. .ore-grid {
  315. display: grid;
  316. grid-template-columns: 1fr;
  317. gap: 6px;
  318. }
  319.  
  320. .ore-grid label {
  321. display: flex;
  322. align-items: center;
  323. gap: 6px;
  324. font-size: 14px;
  325. }
  326.  
  327. .ore-grid img {
  328. width: 20px;
  329. height: 20px;
  330. }
  331.  
  332. .ore-entry {
  333. display: flex;
  334. align-items: center;
  335. gap: 8px;
  336. margin-bottom: 5px;
  337. /* border:2px solid #4caf50; */
  338. border-radius: 15px;
  339. background-color: #e8d48d;
  340. overflow:hidden;
  341. }
  342.  
  343. .ore-entry label {
  344. display: inline;
  345. white-space: nowrap; /* Optional: keeps long names from wrapping */
  346. }
  347. .ore-selection-title {
  348. margin: 5px;
  349. }
  350. .ore-icon {
  351. padding: 0;
  352. width: 60px;
  353. height: 60px;
  354. object-fit: contain; /* keeps aspect ratio */
  355. border-radius: 10px;
  356. margin-top: 4px;
  357. margin-left: 4px;
  358. }
  359. #debug-box {
  360. position: fixed;
  361. pointer-events: none;
  362. background: rgba(0, 0, 0, 0.75);
  363. color: white;
  364. padding: 6px 10px;
  365. font-size: 12px;
  366. border-radius: 6px;
  367. z-index: 9999;
  368. display: none;
  369. }
  370. .menu-panel {
  371. padding: 10px;
  372. padding-bottom: 60px;
  373. border: 1px solid #ccc;
  374. background: #f9f9f9;
  375. max-height: 100vh;
  376. overflow-y: auto;
  377. scrollbar-width: none; /* Firefox */
  378. border-radius: 8px;
  379. width: fit-content;
  380. }
  381.  
  382. #ore-selection-menu {
  383. margin-left: 0;
  384. transition: margin-left 0.3s ease, opacity 0.3s ease;
  385. opacity: 1;
  386. }
  387.  
  388. #ore-selection-menu.hidden {
  389. margin-left: -300px; /* Adjust to push it out of view */
  390. opacity: 0;
  391. pointer-events: none
  392. }
  393.  
  394.  
  395.  
  396.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement