html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Shared "user identity avatar" support (wwwroot/js/user-avatar.js) — the actual
   size/shape/fallback-color comes from whichever context-specific class the
   caller already uses (.user-avatar in the header, .collab-avatar in the editor,
   .directory-avatar in Browse/search); this just makes an <img> uploaded photo
   fill that same circle and sit on top of the initials fallback underneath it. */
.user-avatar-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; border-radius: inherit;
}
.user-avatar, .collab-avatar, .directory-avatar { position: relative; overflow: hidden; }