.pwa-bottom-nav {
-webkit-tap-highlight-color: transparent;
user-select: none;
-webkit-user-select: none;
}
.pwa-bottom-nav.pwa-reduced-motion *,
.pwa-bottom-nav.pwa-reduced-motion *::before,
.pwa-bottom-nav.pwa-reduced-motion *::after {
transition: none !important;
animation: none !important;
} .pwa-bottom-nav-floating {
background: transparent !important;
}
.pwa-bottom-nav-floating .pwa-bottom-nav-container {
background: var(--pwa-bg-color);
margin: 8px 16px;
border-radius: 20px;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1), 0 1px 4px rgba(0, 0, 0, 0.06);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
} .pwa-bottom-nav-pill .pwa-nav-item {
margin: 0 2px;
}
.pwa-bottom-nav-pill .pwa-nav-link {
border-radius: 16px;
padding: 8px 12px;
}
.pwa-bottom-nav-pill .pwa-nav-item.active .pwa-nav-link {
background: var(--pwa-active-color);
color: white;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.pwa-bottom-nav-pill .pwa-nav-item.active .pwa-nav-icon svg {
stroke: white;
}
.pwa-bottom-nav-pill .pwa-active-indicator {
display: none;
} .pwa-nav-badge {
position: absolute;
top: 0;
right: 25%;
background: #ff4757;
color: white;
font-size: 10px;
font-weight: bold;
min-width: 16px;
height: 16px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
padding: 0 4px;
border: 2px solid var(--pwa-bg-color);
} .pwa-submenu {
z-index: 10000;
min-width: 220px;
background: var(--pwa-bg-color);
border-radius: 16px;
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.08);
border: 1px solid rgba(0, 0, 0, 0.06);
}
.pwa-submenu::before {
content: '';
position: absolute;
bottom: -6px;
left: 50%;
transform: translateX(-50%) rotate(45deg);
width: 12px;
height: 12px;
background: var(--pwa-bg-color);
border-right: 1px solid rgba(0, 0, 0, 0.06);
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.pwa-submenu-item {
position: relative;
overflow: hidden;
}
.pwa-submenu-item::after {
content: '';
position: absolute;
background: var(--pwa-active-color);
opacity: 0;
border-radius: 50%;
transform: scale(0);
transition: transform 0.5s, opacity 0.5s;
}
.pwa-submenu-item:active::after {
width: 100%;
padding-top: 100%;
opacity: 0.1;
transform: scale(2);
transition: 0s;
} .pwa-nav-link {
position: relative;
overflow: hidden;
}
.pwa-nav-link::after {
content: '';
position: absolute;
background: var(--pwa-active-color);
opacity: 0;
border-radius: 50%;
transform: scale(0);
transition: transform 0.5s, opacity 0.5s;
}
.pwa-nav-link:active::after {
width: 100%;
padding-top: 100%;
opacity: 0.1;
transform: scale(2);
transition: 0s;
} @supports (padding-bottom: env(safe-area-inset-bottom)) {
.pwa-bottom-nav {
padding-bottom: env(safe-area-inset-bottom);
}
.pwa-submenu {
margin-bottom: calc(8px + env(safe-area-inset-bottom));
}
} @media (prefers-color-scheme: dark) {
.pwa-bottom-nav-floating .pwa-bottom-nav-container {
background: rgba(30, 30, 30, 0.95);
}
.pwa-submenu {
background: rgba(30, 30, 30, 0.98);
border-color: rgba(255, 255, 255, 0.1);
}
.pwa-submenu::before {
background: rgba(30, 30, 30, 0.98);
border-color: rgba(255, 255, 255, 0.1);
}
} .pwa-nav-link:focus-visible,
.pwa-submenu-item:focus-visible {
outline: 2px solid var(--pwa-active-color);
outline-offset: 2px;
border-radius: 8px;
} @media (max-width: 360px) {
.pwa-nav-label {
font-size: 10px;
}
.pwa-nav-icon svg {
width: 20px;
height: 20px;
}
}
@media (min-width: 768px) {
.pwa-bottom-nav-container {
max-width: 500px;
}
}