diff --git a/textures-to-glyph/index.html b/textures-to-glyph/index.html index 42d4b13..10c7047 100644 --- a/textures-to-glyph/index.html +++ b/textures-to-glyph/index.html @@ -217,19 +217,20 @@ } .glyph-cell img { - width: 100%; - height: 100%; - object-fit: contain; + width: calc(var(--img-w, 16) / 16 * 100%); + height: calc(var(--img-h, 16) / 16 * 100%); image-rendering: pixelated; display: block; - margin: auto; + margin: 0; z-index: 2; - position: relative; + position: absolute; + top: 0; + left: 0; } .cell-label { position: absolute; - font-size: 0.8rem; + font-size: 1.15rem; color: rgba(255, 255, 255, 0.6); z-index: 1; text-align: center; @@ -370,6 +371,94 @@ width: 100%; } + .error-modal-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.85); + display: none; + justify-content: center; + align-items: center; + z-index: 2000; + } + + .error-modal-content { + width: 90%; + max-width: 480px; + border-image-source: url("../content/assets/images/container.png"); + border-image-slice: 4 4 4 4 fill; + border-width: 8px; + border-style: solid; + padding: 20px; + max-height: 80vh; + display: flex; + flex-direction: column; + } + + .error-modal-title { + text-align: center; + font-size: 1.5rem; + font-family: MinecraftTen; + color: #ff5555; + text-shadow: 2px 2px 0 #7a0000; + margin-bottom: 6px; + } + + .error-modal-subtitle { + text-align: center; + font-size: 1.2rem; + color: #58585a; + margin-bottom: 14px; + } + + .error-list { + overflow-y: auto; + flex: 1; + margin-bottom: 14px; + } + + .error-row { + display: flex; + align-items: flex-start; + gap: 10px; + padding: 8px 4px; + border-bottom: 1px solid rgba(255, 255, 255, 0.08); + } + + .error-row:last-child { + border-bottom: none; + } + + .error-icon { + width: 22px; + height: 22px; + background-color: #aa3333; + border: 2px solid #881111; + flex-shrink: 0; + margin-top: 6px; + display: flex; + align-items: center; + justify-content: center; + color: #ffaaaa; + font-size: 0.85rem; + font-family: Minecraftia, sans-serif; + } + + .error-filename { + color: #58585a; + font-size: 1.1rem; + line-height: 1.15; + word-break: break-all; + } + + .error-reason { + color: #FF5C4D; + font-size: 1rem; + margin-top: 2px; + } + @media (max-width: 768px) { body { padding: 0; @@ -903,6 +992,8 @@