/* One image pixel per CSS pixel. Layout must adapt to the sprite, never the reverse. */
img[data-pixel-art] {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    object-fit: contain !important;
    image-rendering: pixelated;
    transform: none !important;
    box-sizing: content-box;
    border: 0 !important;
    padding: 0 !important;
    animation: none !important;
    filter: none !important;
}
.community-welcome { grid-template-columns: minmax(0, 1fr) 320px; }
.auth-pixel-scene { display: none; }
@media(min-width:1100px) {
    .auth-pixel-scene { display: flex; position:relative; flex-wrap:wrap; align-items:end; justify-content:center; gap:16px; height:auto; padding:32px 0; }
    .auth-pixel-scene > img { position:relative; inset:auto; margin:0; }
    .auth-scene-halo { inset:12px; }
}
.world-window { transform:none; }
.world-window-scene { display:flex; align-items:center; justify-content:center; }
.world-window-scene > img[data-pixel-art] { flex:none; }
.first-books-art { max-height:none; }
.first-books-art img { margin:auto; }
.friend-code-art { align-self:center; }
.village-purse { justify-items:center; }
.village-product-art { min-height:280px; }
.village-demo-designs { grid-template-columns:1fr; }
.village-demo-designs button { display:flex; justify-content:center; }
.article-card:has(> img[data-pixel-art]), .article-preview:has(> img[data-pixel-art]), .article-body { overflow:hidden; }
.article-card > img[data-pixel-art] { margin-inline:auto; }
@media(max-width:700px) {
    .reader-welcome-heading { flex-direction:column; align-items:start; }
    .reader-welcome-heading > img { align-self:center; }
    .first-books-art { min-height:256px; }
    .world-window-note { flex-wrap:wrap; }
    .village-purse { grid-template-columns:32px auto; }
}
.bookshelf-title { background-size:auto; background-repeat:repeat; }
.bookshelf-row { background-size:auto; background-repeat:repeat-x; }
.book-spine { background-size:auto; background-repeat:repeat; }
.city-customization img[data-pixel-art] { margin-inline:auto; }
.adventure-hero-art { overflow:hidden; }
.city-design-options, .city-design-options.is-six, .city-milestones { grid-template-columns:repeat(auto-fit,minmax(224px,1fr)); }
.city-milestone img[data-pixel-art] { float:none; margin:0 auto 12px; }
.village-demo-designs { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
.village-demo-designs button { display:grid; flex:0 0 224px; scroll-snap-align:start; }
