@layer components {
  .bottom-nav {
    position: fixed;
    inset-block-end: 0;
    inset-inline: 0;
    background-color: oklch(var(--lch-white) / 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid oklch(var(--lch-black) / 0.06);
    border-radius: 1.5rem 1.5rem 0 0;
    box-shadow: 0 -4px 24px oklch(var(--lch-black) / 0.08);
    padding-block-end: var(--safe-bottom);
    z-index: var(--z-nav);
  }

  .bottom-nav__inner {
    display: flex;
    justify-content: space-around;
    align-items: center;
    block-size: 4rem;
    max-inline-size: 32rem;
    margin-inline: auto;
  }

  .bottom-nav__link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-inline-size: 4rem;
    padding: var(--space-sm) var(--space-md);
    color: var(--color-ink-muted);
    text-decoration: none;
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    background: none;
    border: none;
    cursor: pointer;
    transition: color var(--transition-fast);

    & .material-symbols-outlined {
      font-size: 1.5rem;
      flex-shrink: 0;
    }

    &:hover {
      color: var(--color-ink-subtle);
    }

    &.is-active {
      color: var(--color-primary);

      &::before {
        content: '';
        position: absolute;
        inset-block-start: 0.25rem;
        inset-inline-start: 50%;
        transform: translateX(-50%);
        inline-size: 4rem;
        block-size: 2rem;
        background-color: var(--color-primary-container);
        border-radius: var(--radius-full);
        z-index: -1;
      }
    }
  }
}
