.topbar {
  position: sticky; top: 0; z-index: 100;
  backdrop-filter: saturate(1.1) blur(8px);
  background:
    color-mix(in oklab, var(--app-topbar-bg) 80%, transparent);
  border-bottom: 1px solid rgba(0,0,0,.08);

  .brand {
    display:flex; align-items:center; gap:.6rem;
    color: inherit; text-decoration: none;
    .logo-dot {
      width: 48px; height: 48px; border-radius: 50%;
    }
    .brand-text { font-weight: 600; letter-spacing:.2px; }
  }

  .nav { display:flex; gap:.25rem; margin-left:.5rem; }

  .spacer { flex: 1; }

  .flag-icon { width: 18px; height: 18px; border-radius: 2px; margin-right:.5rem; }

  .menu-section { padding:.25rem .5rem .5rem; }
  .menu-title { font-size:.75rem; opacity:.75; padding:.25rem .75rem .5rem; }

  .kbd {
    margin-left:auto; font-size:.7rem; opacity:.65; border:1px solid currentColor;
    border-radius:4px; padding:0 .35rem;
  }
}

::ng-deep .mat-mdc-menu-item .mdc-list-item__primary-text {
  display: flex;
  align-items: center;
  gap: .5rem;
}

::ng-deep .mat-mdc-menu-item .kbd {
  margin-left: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  line-height: 1.6;
  padding: 0 .35rem;
  border: 0px solid currentColor;
  border-radius: 4px;
  opacity: .65;
}

::ng-deep .mat-mdc-menu-item .mat-icon {
  width: 20px; height: 20px; font-size: 20px;
}

::ng-deep .mat-mdc-menu-item .flag-icon {
  width: 20px !important;
  height: 14px !important;
  object-fit: cover;
  border-radius: 2px;
  margin-right: .5rem;
  vertical-align: middle;
}

::ng-deep .mat-mdc-menu-panel {
  border-radius: 10px !important;
  border: 1px solid rgba(0,0,0,.14);
}
.dark ::ng-deep .mat-mdc-menu-panel {
  border-color: rgba(255,255,255,.06);
}

/* Responsive: Collapse navigation to icon if width is smaller than 760px */
.nav-menu-btn {
  display: none;
}

@media (max-width: 760px) {
  .topbar .nav {
    display: none;
  }

  .nav-menu-btn {
    display: inline-flex;
  }
}
