@layer components {
  .header {
    @mixin py var(--el-header-paddingY);

    position: sticky;
    z-index: 9;
    top: 0;

    width: var(--dim-full);

    color: var(--color-text-inverse);

    background-color: var(--color-surface-inverse);
  }

  .inner {
    @mixin layout-wrapper;

    display: flex;
    flex-direction: row;
    gap: var(--spacing-cozy);
    align-items: center;
    justify-content: flex-start;

    font-size: var(--el-header-font-size);
    line-height: var(--el-header-line-height);

  }

  .logo {
    @mixin anim-txt-characterglitch;

    font-family: var(--font-mono);
    animation:
        logo-pulse 5s cubic-bezier(0.4, 0, 0.6, 1) infinite;

    &:hover {
      transform: translate(0, 0);
      color: var(--color-secondary);
    }
  }

  .pagename {
    font-family: var(--font-mono);

    & .bracket {
      color: var(--color-secondary);
    }
  }

  .menutoggle {
    @mixin ml auto;

    & button {
      cursor: pointer;
      font-family: var(--font-mono);
      transition: color 0.2s ease-out;

      &:hover {
        color: var(--color-primary);
      }

      &:active {
        transform: scale(0.95);
        transition: transform 0.1s ease-out;
      }
    }
  }

  @keyframes logo-pulse {
    0% { opacity: 1; }
    25% { opacity: 0.66; }
    50% { opacity: 0.33; }
    75% { opacity: 0.66; }
    100% { opacity: 1; }
  }
}