Mobile profile tab grid: uniform card tiles (fix ellipse/uneven look)

The mobile tab grid reshaped btn-ghost pills, so tiles were rounded-full
ellipses that turned into circles once a label wrapped, and a single 2-line
label ("Admin (Moderation)") stretched its whole row taller than the rest.

- Uniform tile height via grid-auto-rows (a 2-line label can no longer
  stretch its row); token renamed to --profile-modal-nav-tile-height (5rem).
- Consistent card radius (--radius-xl) instead of rounded-full.
- Subtle --color-panel fill so tiles read as solid cards, not floating
  outlines (the active tile's bg-primary keeps winning on specificity).
- overflow:hidden + block-size:100% so content fills each equal tile cleanly.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
thePR0M3TH3ANandClaude Opus 4.8 committed 2026-07-08 07:16:52 -04:00
1 parent 4f56a2bd26
commit c72c74d15b
2 files changed
+14 -5

No files matched your search

+11 -3
View File
@@ -3662,6 +3662,9 @@
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-xs);
/* Every tile the SAME height, so a 2-line label can't stretch its row
taller than the others (the "ragged grid of ellipses" fix). */
grid-auto-rows: var(--profile-modal-nav-tile-height);
}
.profile-modal__nav > button {
@@ -3672,12 +3675,17 @@
text-align: center;
gap: var(--space-2xs);
width: 100%;
/* equal-height tiles: a consistent floor so short and 2-line labels align
(grid rows stretch to the tallest tile, so within a row they match) */
min-block-size: var(--profile-modal-nav-tile-min-height);
block-size: 100%;
/* Consistent rounded-square tiles, not rounded-full ellipses (btn's
default) that turn into circles once a tile gets taller. */
border-radius: var(--radius-xl);
/* Subtle fill so they read as solid cards, not floating outlines. The
active tile's bg-primary (higher specificity) still wins. */
background-color: var(--color-panel);
padding-block: var(--space-xs);
padding-inline: var(--space-3xs);
line-height: 1.15;
overflow: hidden;
/* wrap labels at spaces, not mid-word */
overflow-wrap: break-word;
word-break: normal;