/* List pages only - no scroll */ body:has(.content) { display: flex; flex-direction: column; height: 100vh; overflow: hidden; } body:has(.content) > header { flex: 0 0 auto; } body:has(.content) > .main { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; } body:has(.content) > footer { flex: 0 0 auto; } .content { width: 100%; height: 100%; padding: 40px; box-sizing: border-box; display: flex; gap: 80px; align-items: center; justify-content: space-between; } .topics { font-size: clamp(1.5em, 4vw, 3em); max-height: 100%; column-width: 300px; column-gap: clamp(20px, 4vw, 60px); column-fill: auto; margin: 0; padding: 0; list-style: none; } .topics li:first-child { margin-top: 0; } .topics li:last-child { margin-bottom: 0; } .posts { font-size: clamp(1.2em, 3vw, 2.2em); text-align: right; display: flex; flex-direction: column; justify-content: center; min-height: 0; } .posts:empty { display: none; } a { text-decoration: none; } .post { margin-bottom: 25px; } ul { list-style: none; margin: 0; } .topic a { position: relative; display: inline-block; color: inherit; text-decoration: none; margin-bottom: 25px; transition: color 0.5s ease; } .topic a::after { content: ""; height: 2px; display: block; margin-top: 4px; background: currentColor; width: 0; right: 100%; position: absolute; transition: width 0.5s ease, right 0.5s ease; } .topic a:hover::after, .topic a.active::after { width: 100%; right: 0; } body:has(.topics:only-child) .content { justify-content: flex-start; } body:has(.topics:only-child) .topics { column-width: 300px; column-fill: auto; } @media (max-width: 1024px) { body:has(.content) { height: 100vh; } .content { flex-direction: column; padding: 20px; gap: 40px; justify-content: flex-start; overflow-y: auto; } .topics { font-size: 2em; column-width: unset; column-count: 1; max-height: unset; width: 100%; } .posts { font-size: 1.5em; text-align: left; width: 100%; } .topic a { margin-bottom: 15px; } }