body { display: flex; flex-wrap: wrap; justify-content: stretch; align-items: stretch; flex-direction: column; flex-wrap: nowrap; } body>div { display: block; object-fit: cover; all: unset; max-block-size: 100%; min-block-size: 25%; min-inline-size: 50%; max-inline-size: 100%; background: url("/assets/images/login.jpg"); filter: invert(); background-size: cover; mask-size: 100%; mask-image: linear-gradient(rgb(0 0 0 / 100%), transparent); @media screen and (min-width: 50rem) { mask-image: linear-gradient(90deg, rgb(0 0 0 / 100%), transparent); } image-rendering: pixelated; } main { display: flex; flex-direction: column; align-items: center; justify-content: center; max-block-size: 100%; &>:first-child { display: flex; flex-direction: column; border: var(--border); padding: 1rem; align-items: center; h1 { align-self: center; } } } label:has(input:not([type="checkbox"])) { display: flex; flex-direction: column; } button { padding: 0.5ch; } form { display: flex; flex-direction: column; max-inline-size: 40ch; gap: 1rem; } @media screen and (min-width: 50rem) { body { flex-direction: row; } main { margin-block: 0; } }