Files
MealQuest/web/src/shell/BottomBar.module.css
T

66 lines
1.4 KiB
CSS
Raw Normal View History

.bar {
position: absolute;
left: 12px;
right: 12px;
bottom: calc(16px + env(safe-area-inset-bottom));
height: 62px;
padding: 0 6px;
box-sizing: border-box;
display: flex;
justify-content: space-around;
align-items: center;
border-radius: var(--radius-pill);
background: var(--color-text);
}
2026-10-03 18:52:57 -04:00
/* The one grape pill, shared by every item: BottomBar sets its left and width
to the active item's and slides it between items. */
.pill {
position: absolute;
top: 10px;
height: 42px;
z-index: 0;
border-radius: var(--radius-pill);
background: var(--color-accent);
pointer-events: none;
}
/* The whole bar height is the tap target; the 42 px pill sits behind it.
Items stay above the pill. */
.item {
2026-10-03 18:52:57 -04:00
position: relative;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
2026-10-03 18:52:57 -04:00
gap: 6px;
height: 62px;
min-width: 44px;
2026-10-03 18:52:57 -04:00
padding: 0 13px;
box-sizing: border-box;
color: var(--color-neutral-400);
text-decoration: none;
2026-10-03 18:52:57 -04:00
white-space: nowrap;
transition: color .2s;
}
2026-10-03 18:52:57 -04:00
.item[aria-current='page'] {
color: var(--on-accent);
}
.label {
font-family: var(--font-body);
font-size: 13px;
font-weight: 700;
}
/* Inactive items are icon-only on screen but keep their name for assistive tech. */
.hiddenLabel {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
}